/*
    Copyright (c) 2009 John Resig, http://jquery.com/
    License: http://www.opensource.org/licenses/mit-license.php
*/
/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
YMaps.onLoad("core",function(f,d){(function(){var B=this,x,G=f.jQuery=function(U,V){return new G.fn.init(U,V)},T=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,w=/^.[^:#\[\.,]*$/;G.fn=G.prototype={init:function(U,X){U=U||document;if(U.nodeType){this[0]=U;this.length=1;this.context=U;return this}if(typeof U==="string"){var W=T.exec(U);if(W&&(W[1]||!X)){if(W[1]){U=G.clean([W[1]],X)}else{var Y=document.getElementById(W[3]);if(Y&&Y.id!=W[3]){return G().find(U)}var V=G(Y||[]);V.context=document;V.selector=U;return V}}else{return G(X).find(U)}}else{if(G.isFunction(U)){return G(document).ready(U)}}if(U.selector&&U.context){this.selector=U.selector;this.context=U.context}return this.setArray(G.isArray(U)?U:G.makeArray(U))},selector:"",jquery:"@VERSION",size:function(){return this.length},get:function(U){return U===x?Array.prototype.slice.call(this):this[U]},pushStack:function(V,X,U){var W=G(V);W.prevObject=this;W.context=this.context;if(X==="find"){W.selector=this.selector+(this.selector?" ":"")+U}else{if(X){W.selector=this.selector+"."+X+"("+U+")"}}return W},setArray:function(U){this.length=0;Array.prototype.push.apply(this,U);return this},each:function(V,U){return G.each(this,V,U)},index:function(U){return G.inArray(U&&U.jquery?U[0]:U,this)},attr:function(V,X,W){var U=V;if(typeof V==="string"){if(X===x){return this[0]&&G[W||"attr"](this[0],V)}else{U={};U[V]=X}}return this.each(function(Y){for(V in U){G.attr(W?this.style:this,V,G.prop(this,U[V],W,Y,V))}})},css:function(U,V){if((U=="width"||U=="height")&&parseFloat(V)<0){V=x}return this.attr(U,V,"curCSS")},text:function(V){if(typeof V!=="object"&&V!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(V))}var U="";G.each(V||this,function(){G.each(this.childNodes,function(){if(this.nodeType!=8){U+=this.nodeType!=1?this.nodeValue:G.fn.text([this])}})});return U},wrapAll:function(U){if(this[0]){var V=G(U,this[0].ownerDocument).clone();if(this[0].parentNode){V.insertBefore(this[0])}V.map(function(){var W=this;while(W.firstChild){W=W.firstChild}return W}).append(this)}return this},wrapInner:function(U){return this.each(function(){G(this).contents().wrapAll(U)})},wrap:function(U){return this.each(function(){G(this).wrapAll(U)})},append:function(){return this.domManip(arguments,true,function(U){if(this.nodeType==1){this.appendChild(U)}})},prepend:function(){return this.domManip(arguments,true,function(U){if(this.nodeType==1){this.insertBefore(U,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(U){this.parentNode.insertBefore(U,this)})},after:function(){return this.domManip(arguments,false,function(U){this.parentNode.insertBefore(U,this.nextSibling)})},end:function(){return this.prevObject||G([])},push:[].push,sort:[].sort,splice:[].splice,find:function(U){if(this.length===1){var V=this.pushStack([],"find",U);V.length=0;G.find(U,this[0],V);return V}else{return this.pushStack(G.unique(G.map(this,function(W){return G.find(U,W)})),"find",U)}},clone:function(W){var U=this.map(function(){if(!G.support.noCloneEvent&&!G.isXMLDoc(this)){var Y=this.outerHTML;if(!Y){var Z=this.ownerDocument.createElement("div");Z.appendChild(this.cloneNode(true));Y=Z.innerHTML}return G.clean([Y.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(W===true){var X=this.find("*").andSelf(),V=0;U.find("*").andSelf().each(function(){if(this.nodeName!==X[V].nodeName){return}var Y=G.data(X[V],"events");for(var aa in Y){for(var Z in Y[aa]){G.event.add(this,aa,Y[aa][Z],Y[aa][Z].data)}}V++})}return U},filter:function(U){return this.pushStack(G.isFunction(U)&&G.grep(this,function(W,V){return U.call(W,V)})||G.multiFilter(U,G.grep(this,function(V){return V.nodeType===1})),"filter",U)},closest:function(U){var W=G.expr.match.POS.test(U)?G(U):null,V=0;return this.map(function(){var X=this;while(X&&X.ownerDocument){if(W?W.index(X)>-1:G(X).is(U)){G.data(X,"closest",V);return X}X=X.parentNode;V++}})},not:function(U){if(typeof U==="string"){if(w.test(U)){return this.pushStack(G.multiFilter(U,this,true),"not",U)}else{U=G.multiFilter(U,this)}}var V=U.length&&U[U.length-1]!==x&&!U.nodeType;return this.filter(function(){return V?G.inArray(this,U)<0:this!=U})},add:function(U){return this.pushStack(G.unique(G.merge(this.get(),typeof U==="string"?G(U):G.makeArray(U))))},is:function(U){return !!U&&G.multiFilter(U,this).length>0},hasClass:function(U){return !!U&&this.is("."+U)},val:function(aa){if(aa===x){var U=this[0];if(U){if(G.nodeName(U,"option")){return(U.attributes.value||{}).specified?U.value:U.text}if(G.nodeName(U,"select")){var Y=U.selectedIndex,ab=[],ac=U.options,X=U.type=="select-one";if(Y<0){return null}for(var V=X?Y:0,Z=X?Y+1:ac.length;V<Z;V++){var W=ac[V];if(W.selected){aa=G(W).val();if(X){return aa}ab.push(aa)}}return ab}return(U.value||"").replace(/\r/g,"")}return x}if(typeof aa==="number"){aa+=""}return this.each(function(){if(this.nodeType!=1){return}if(G.isArray(aa)&&/radio|checkbox/.test(this.type)){this.checked=(G.inArray(this.value,aa)>=0||G.inArray(this.name,aa)>=0)}else{if(G.nodeName(this,"select")){var ad=G.makeArray(aa);G("option",this).each(function(){this.selected=(G.inArray(this.value,ad)>=0||G.inArray(this.text,ad)>=0)});if(!ad.length){this.selectedIndex=-1}}else{this.value=aa}}})},html:function(U){return U===x?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(U)},replaceWith:function(U){return this.after(U).remove()},eq:function(U){return this.slice(U,+U+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(U){return this.pushStack(G.map(this,function(W,V){return U.call(W,V,W)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(Z,ac,ab){if(this[0]){var Y=(this[0].ownerDocument||this[0]).createDocumentFragment(),V=G.clean(Z,(this[0].ownerDocument||this[0]),Y),X=Y.firstChild;if(X){for(var W=0,U=this.length;W<U;W++){ab.call(aa(this[W],X),this.length>1||W>0?Y.cloneNode(true):Y)}}if(V){G.each(V,P)}}return this;function aa(ad,ae){return ac&&G.nodeName(ad,"table")&&G.nodeName(ae,"tr")?(ad.getElementsByTagName("tbody")[0]||ad.appendChild(ad.ownerDocument.createElement("tbody"))):ad}}};G.fn.init.prototype=G.fn;function P(U,V){if(V.src){G.ajax({url:V.src,async:false,dataType:"script"})}else{G.globalEval(V.text||V.textContent||V.innerHTML||"")}if(V.parentNode){V.parentNode.removeChild(V)}}function v(){return +new Date}G.extend=G.fn.extend=function(){var Z=arguments[0]||{},X=1,Y=arguments.length,U=false,W;if(typeof Z==="boolean"){U=Z;Z=arguments[1]||{};X=2}if(typeof Z!=="object"&&!G.isFunction(Z)){Z={}}if(Y==X){Z=this;--X}for(;X<Y;X++){if((W=arguments[X])!=null){for(var V in W){var aa=Z[V],ab=W[V];if(Z===ab){continue}if(U&&ab&&typeof ab==="object"&&!ab.nodeType){Z[V]=G.extend(U,aa||(ab.length!=null?[]:{}),ab)}else{if(ab!==x){Z[V]=ab}}}}}return Z};var s=/z-?index|font-?weight|opacity|zoom|line-?height/i,H=document.defaultView||{},J=Object.prototype.toString;G.extend({noConflict:function(U){B.$=_$;if(U){B.jQuery=_jQuery}return G},isFunction:function(U){return J.call(U)==="[object Function]"},isArray:function(U){return J.call(U)==="[object Array]"},isXMLDoc:function(U){return U.nodeType===9&&U.documentElement.nodeName!=="HTML"||!!U.ownerDocument&&G.isXMLDoc(U.ownerDocument)},globalEval:function(W){if(W&&/\S/.test(W)){var V=document.getElementsByTagName("head")[0]||document.documentElement,U=document.createElement("script");U.type="text/javascript";if(G.support.scriptEval){U.appendChild(document.createTextNode(W))}else{U.text=W}V.insertBefore(U,V.firstChild);V.removeChild(U)}},nodeName:function(V,U){return V.nodeName&&V.nodeName.toUpperCase()==U.toUpperCase()},each:function(W,aa,V){var U,X=0,Y=W.length;if(V){if(Y===x){for(U in W){if(aa.apply(W[U],V)===false){break}}}else{for(;X<Y;){if(aa.apply(W[X++],V)===false){break}}}}else{if(Y===x){for(U in W){if(aa.call(W[U],U,W[U])===false){break}}}else{for(var Z=W[0];X<Y&&aa.call(Z,X,Z)!==false;Z=W[++X]){}}}return W},prop:function(X,Y,W,V,U){if(G.isFunction(Y)){Y=Y.call(X,V)}return typeof Y==="number"&&W=="curCSS"&&!s.test(U)?Y+"px":Y},className:{add:function(U,V){G.each((V||"").split(/\s+/),function(W,X){if(U.nodeType==1&&!G.className.has(U.className,X)){U.className+=(U.className?" ":"")+X}})},remove:function(U,V){if(U.nodeType==1){U.className=V!==x?G.grep(U.className.split(/\s+/),function(W){return !G.className.has(V,W)}).join(" "):""}},has:function(V,U){return V&&G.inArray(U,(V.className||V).toString().split(/\s+/))>-1}},swap:function(X,W,Y){var U={};for(var V in W){U[V]=X.style[V];X.style[V]=W[V]}Y.call(X);for(var V in W){X.style[V]=U[V]}},css:function(X,V,Z,U){if(V=="width"||V=="height"){var ab,W={position:"absolute",visibility:"hidden",display:"block"},aa=V=="width"?["Left","Right"]:["Top","Bottom"];function Y(){ab=V=="width"?X.offsetWidth:X.offsetHeight;if(U==="border"){return}G.each(aa,function(){if(!U){ab-=parseFloat(G.curCSS(X,"padding"+this,true))||0}if(U==="margin"){ab+=parseFloat(G.curCSS(X,"margin"+this,true))||0}else{ab-=parseFloat(G.curCSS(X,"border"+this+"Width",true))||0}})}if(X.offsetWidth!==0){Y()}else{G.swap(X,W,Y)}return Math.max(0,Math.round(ab))}return G.curCSS(X,V,Z)},curCSS:function(Y,V,W){var ab,U=Y.style;if(V=="opacity"&&!G.support.opacity){ab=G.attr(U,"opacity");return ab==""?"1":ab}if(V.match(/float/i)){V=N}if(!W&&U&&U[V]){ab=U[V]}else{if(H.getComputedStyle){if(V.match(/float/i)){V="float"}V=V.replace(/([A-Z])/g,"-$1").toLowerCase();var ac=H.getComputedStyle(Y,null);if(ac){ab=ac.getPropertyValue(V)}if(V=="opacity"&&ab==""){ab="1"}}else{if(Y.currentStyle){var Z=V.replace(/\-(\w)/g,function(ad,ae){return ae.toUpperCase()});ab=Y.currentStyle[V]||Y.currentStyle[Z];if(!/^\d+(px)?$/i.test(ab)&&/^\d/.test(ab)){var X=U.left,aa=Y.runtimeStyle.left;Y.runtimeStyle.left=Y.currentStyle.left;U.left=ab||0;ab=U.pixelLeft+"px";U.left=X;Y.runtimeStyle.left=aa}}}}return ab},clean:function(V,aa,Y){aa=aa||document;if(typeof aa.createElement==="undefined"){aa=aa.ownerDocument||aa[0]&&aa[0].ownerDocument||document}if(!Y&&V.length===1&&typeof V[0]==="string"){var X=/^<(\w+)\s*\/?>$/.exec(V[0]);if(X){return[aa.createElement(X[1])]}}var W=[],U=[],ab=aa.createElement("div");G.each(V,function(af,ai){if(typeof ai==="number"){ai+=""}if(!ai){return}if(typeof ai==="string"){ai=ai.replace(/(<(\w+)[^>]*?)\/>/g,function(ak,al,aj){return aj.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?ak:al+"></"+aj+">"});var ae=ai.replace(/^\s+/,"").substring(0,10).toLowerCase();var ag=!ae.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!ae.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||ae.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!ae.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!ae.indexOf("<td")||!ae.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!ae.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!G.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];ab.innerHTML=ag[1]+ai+ag[2];while(ag[0]--){ab=ab.lastChild}if(!G.support.tbody){var ah=/<tbody/i.test(ai),ad=!ae.indexOf("<table")&&!ah?ab.firstChild&&ab.firstChild.childNodes:ag[1]=="<table>"&&!ah?ab.childNodes:[];for(var ac=ad.length-1;ac>=0;--ac){if(G.nodeName(ad[ac],"tbody")&&!ad[ac].childNodes.length){ad[ac].parentNode.removeChild(ad[ac])}}}if(!G.support.leadingWhitespace&&/^\s/.test(ai)){ab.insertBefore(aa.createTextNode(ai.match(/^\s*/)[0]),ab.firstChild)}ai=G.makeArray(ab.childNodes)}if(ai.nodeType){W.push(ai)}else{W=G.merge(W,ai)}});if(Y){for(var Z=0;W[Z];Z++){if(G.nodeName(W[Z],"script")&&(!W[Z].type||W[Z].type.toLowerCase()==="text/javascript")){U.push(W[Z].parentNode?W[Z].parentNode.removeChild(W[Z]):W[Z])}else{if(W[Z].nodeType===1){W.splice.apply(W,[Z+1,0].concat(G.makeArray(W[Z].getElementsByTagName("script"))))}Y.appendChild(W[Z])}}return U}return W},attr:function(Z,W,aa){if(!Z||Z.nodeType==3||Z.nodeType==8){return x}var X=!G.isXMLDoc(Z),ab=aa!==x;W=X&&G.props[W]||W;if(Z.tagName){var V=/href|src|style/.test(W);if(W=="selected"&&Z.parentNode){Z.parentNode.selectedIndex}if(W in Z&&X&&!V){if(ab){if(W=="type"&&G.nodeName(Z,"input")&&Z.parentNode){throw"type property can't be changed"}Z[W]=aa}if(G.nodeName(Z,"form")&&Z.getAttributeNode(W)){return Z.getAttributeNode(W).nodeValue}if(W=="tabIndex"){var Y=Z.getAttributeNode("tabIndex");return Y&&Y.specified?Y.value:Z.nodeName.match(/(button|input|object|select|textarea)/i)?0:Z.nodeName.match(/^(a|area)$/i)&&Z.href?0:x}return Z[W]}if(!G.support.style&&X&&W=="style"){return G.attr(Z.style,"cssText",aa)}if(ab){Z.setAttribute(W,""+aa)}var U=!G.support.hrefNormalized&&X&&V?Z.getAttribute(W,2):Z.getAttribute(W);return U===null?x:U}if(!G.support.opacity&&W=="opacity"){if(ab){Z.zoom=1;Z.filter=(Z.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(aa)+""=="NaN"?"":"alpha(opacity="+aa*100+")")}return Z.filter&&Z.filter.indexOf("opacity=")>=0?(parseFloat(Z.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}W=W.replace(/-([a-z])/ig,function(ac,ad){return ad.toUpperCase()});if(ab){Z[W]=aa}return Z[W]},trim:function(U){return(U||"").replace(/^\s+|\s+$/g,"")},makeArray:function(W){var U=[];if(W!=null){var V=W.length;if(V==null||typeof W==="string"||G.isFunction(W)||W.setInterval){U[0]=W}else{while(V){U[--V]=W[V]}}}return U},inArray:function(W,X){for(var U=0,V=X.length;U<V;U++){if(X[U]===W){return U}}return -1},merge:function(X,U){var V=0,W,Y=X.length;if(!G.support.getAll){while((W=U[V++])!=null){if(W.nodeType!=8){X[Y++]=W}}}else{while((W=U[V++])!=null){X[Y++]=W}}return X},unique:function(aa){var V=[],U={};try{for(var W=0,X=aa.length;W<X;W++){var Z=G.data(aa[W]);if(!U[Z]){U[Z]=true;V.push(aa[W])}}}catch(Y){V=aa}return V},grep:function(V,Z,U){var W=[];for(var X=0,Y=V.length;X<Y;X++){if(!U!=!Z(V[X],X)){W.push(V[X])}}return W},map:function(U,Z){var V=[];for(var W=0,X=U.length;W<X;W++){var Y=Z(U[W],W);if(Y!=null){V[V.length]=Y}}return V.concat.apply([],V)}});var S=navigator.userAgent.toLowerCase();G.browser={version:(S.match(/(?:rv|webkit|opera|msie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(S),opera:/opera/.test(S),msie:/msie/.test(S)&&!/opera/.test(S),mozilla:/mozilla/.test(S)&&!/(compatible|webkit)/.test(S)};G.each({parent:function(U){return U.parentNode},parents:function(U){return G.dir(U,"parentNode")},next:function(U){return G.nth(U,2,"nextSibling")},prev:function(U){return G.nth(U,2,"previousSibling")},nextAll:function(U){return G.dir(U,"nextSibling")},prevAll:function(U){return G.dir(U,"previousSibling")},siblings:function(U){return G.sibling(U.parentNode.firstChild,U)},children:function(U){return G.sibling(U.firstChild)},contents:function(U){return G.nodeName(U,"iframe")?U.contentDocument||U.contentWindow.document:G.makeArray(U.childNodes)}},function(U,V){G.fn[U]=function(W){var X=G.map(this,V);if(W&&typeof W=="string"){X=G.multiFilter(W,X)}return this.pushStack(G.unique(X),U,W)}});G.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(U,V){G.fn[U]=function(W){var Z=[],ab=G(W);for(var aa=0,X=ab.length;aa<X;aa++){var Y=(aa>0?this.clone(true):this).get();G.fn[V].apply(G(ab[aa]),Y);Z=Z.concat(Y)}return this.pushStack(Z,U,W)}});G.each({removeAttr:function(U){G.attr(this,U,"");if(this.nodeType==1){this.removeAttribute(U)}},addClass:function(U){G.className.add(this,U)},removeClass:function(U){G.className.remove(this,U)},toggleClass:function(V,U){if(typeof U!=="boolean"){U=!G.className.has(this,V)}G.className[U?"add":"remove"](this,V)},remove:function(U){if(!U||G.filter(U,[this]).length){G("*",this).add([this]).each(function(){G.event.remove(this);G.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){G(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(U,V){G.fn[U]=function(){return this.each(V,arguments)}});function A(U,V){return U[0]&&parseInt(G.curCSS(U[0],V,true),10)||0}var y="jQuery"+v(),M=0,Q={};G.extend({cache:{},data:function(V,U,W){V=V==B?Q:V;var X=V[y];if(!X){X=V[y]=++M}if(U&&!G.cache[X]){G.cache[X]={}}if(W!==x){G.cache[X][U]=W}return U?G.cache[X][U]:X},removeData:function(V,U){V=V==B?Q:V;var X=V[y];if(U){if(G.cache[X]){delete G.cache[X][U];U="";for(U in G.cache[X]){break}if(!U){G.removeData(V)}}}else{try{delete V[y]}catch(W){if(V.removeAttribute){V.removeAttribute(y)}}delete G.cache[X]}},queue:function(V,U,X){if(V){U=(U||"fx")+"queue";var W=G.data(V,U);if(!W||G.isArray(X)){W=G.data(V,U,G.makeArray(X))}else{if(X){W.push(X)}}}return W},dequeue:function(X,W){var U=G.queue(X,W),V=U.shift();if(!W||W==="fx"){V=U[0]}if(V!==x){V.call(X)}}});G.fn.extend({data:function(U,W){var X=U.split(".");X[1]=X[1]?"."+X[1]:"";if(W===x){var V=this.triggerHandler("getData"+X[1]+"!",[X[0]]);if(V===x&&this.length){V=G.data(this[0],U)}return V===x&&X[1]?this.data(X[0]):V}else{return this.trigger("setData"+X[1]+"!",[X[0],W]).each(function(){G.data(this,U,W)})}},removeData:function(U){return this.each(function(){G.removeData(this,U)})},queue:function(U,V){if(typeof U!=="string"){V=U;U="fx"}if(V===x){return G.queue(this[0],U)}return this.each(function(){var W=G.queue(this,U,V);if(U=="fx"&&W.length==1){W[0].call(this)}})},dequeue:function(U){return this.each(function(){G.dequeue(this,U)})}});(function(){var ah=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,ab=0,X=Object.prototype.toString;var V=function(ao,ak,ar,at){ar=ar||[];ak=ak||document;if(ak.nodeType!==1&&ak.nodeType!==9){return[]}if(!ao||typeof ao!=="string"){return ar}var ap=[],am,aw,az,aj,au,al,an=true;ah.lastIndex=0;while((am=ah.exec(ao))!==null){ap.push(am[1]);if(am[2]){al=RegExp.rightContext;break}}if(ap.length>1&&ac.exec(ao)){if(ap.length===2&&Y.relative[ap[0]]){aw=Z(ap[0]+ap[1],ak)}else{aw=Y.relative[ap[0]]?[ak]:V(ap.shift(),ak);while(ap.length){ao=ap.shift();if(Y.relative[ao]){ao+=ap.shift()}aw=Z(ao,aw)}}}else{var av=at?{expr:ap.pop(),set:U(at)}:V.find(ap.pop(),ap.length===1&&ak.parentNode?ak.parentNode:ak,ag(ak));aw=V.filter(av.expr,av.set);if(ap.length>0){az=U(aw)}else{an=false}while(ap.length){var ay=ap.pop(),ax=ay;if(!Y.relative[ay]){ay=""}else{ax=ap.pop()}if(ax==null){ax=ak}Y.relative[ay](az,ax,ag(ak))}}if(!az){az=aw}if(!az){throw"Syntax error, unrecognized expression: "+(ay||ao)}if(X.call(az)==="[object Array]"){if(!an){ar.push.apply(ar,az)}else{if(ak.nodeType===1){for(var aq=0;az[aq]!=null;aq++){if(az[aq]&&(az[aq]===true||az[aq].nodeType===1&&aa(ak,az[aq]))){ar.push(aw[aq])}}}else{for(var aq=0;az[aq]!=null;aq++){if(az[aq]&&az[aq].nodeType===1){ar.push(aw[aq])}}}}}else{U(az,ar)}if(al){V(al,ak,ar,at);if(W){hasDuplicate=false;ar.sort(W);if(hasDuplicate){for(var aq=1;aq<ar.length;aq++){if(ar[aq]===ar[aq-1]){ar.splice(aq--,1)}}}}}return ar};V.matches=function(aj,ak){return V(aj,null,null,ak)};V.find=function(aq,aj,ar){var ap,an;if(!aq){return[]}for(var am=0,al=Y.order.length;am<al;am++){var ao=Y.order[am],an;if((an=Y.match[ao].exec(aq))){var ak=RegExp.leftContext;if(ak.substr(ak.length-1)!=="\\"){an[1]=(an[1]||"").replace(/\\/g,"");ap=Y.find[ao](an,aj,ar);if(ap!=null){aq=aq.replace(Y.match[ao],"");break}}}}if(!ap){ap=aj.getElementsByTagName("*")}return{set:ap,expr:aq}};V.filter=function(au,at,ax,am){var al=au,az=[],aq=at,ao,aj,ap=at&&at[0]&&ag(at[0]);while(au&&at.length){for(var ar in Y.filter){if((ao=Y.match[ar].exec(au))!=null){var ak=Y.filter[ar],ay,aw;aj=false;if(aq==az){az=[]}if(Y.preFilter[ar]){ao=Y.preFilter[ar](ao,aq,ax,az,am,ap);if(!ao){aj=ay=true}else{if(ao===true){continue}}}if(ao){for(var an=0;(aw=aq[an])!=null;an++){if(aw){ay=ak(aw,ao,an,aq);var av=am^!!ay;if(ax&&ay!=null){if(av){aj=true}else{aq[an]=false}}else{if(av){az.push(aw);aj=true}}}}}if(ay!==x){if(!ax){aq=az}au=au.replace(Y.match[ar],"");if(!aj){return[]}break}}}if(au==al){if(aj==null){throw"Syntax error, unrecognized expression: "+au}else{break}}al=au}return aq};var Y=V.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(aj){return aj.getAttribute("href")}},relative:{"+":function(aq,aj,ap){var an=typeof aj==="string",ar=an&&!/\W/.test(aj),ao=an&&!ar;if(ar&&!ap){aj=aj.toUpperCase()}for(var am=0,al=aq.length,ak;am<al;am++){if((ak=aq[am])){while((ak=ak.previousSibling)&&ak.nodeType!==1){}aq[am]=ao||ak&&ak.nodeName===aj?ak||false:ak===aj}}if(ao){V.filter(aj,aq,true)}},">":function(ap,ak,aq){var an=typeof ak==="string";if(an&&!/\W/.test(ak)){ak=aq?ak:ak.toUpperCase();for(var al=0,aj=ap.length;al<aj;al++){var ao=ap[al];if(ao){var am=ao.parentNode;ap[al]=am.nodeName===ak?am:false}}}else{for(var al=0,aj=ap.length;al<aj;al++){var ao=ap[al];if(ao){ap[al]=an?ao.parentNode:ao.parentNode===ak}}if(an){V.filter(ak,ap,true)}}},"":function(am,ak,ao){var al=ab++,aj=ai;if(!ak.match(/\W/)){var an=ak=ao?ak:ak.toUpperCase();aj=af}aj("parentNode",ak,al,am,an,ao)},"~":function(am,ak,ao){var al=ab++,aj=ai;if(typeof ak==="string"&&!ak.match(/\W/)){var an=ak=ao?ak:ak.toUpperCase();aj=af}aj("previousSibling",ak,al,am,an,ao)}},find:{ID:function(ak,al,am){if(typeof al.getElementById!=="undefined"&&!am){var aj=al.getElementById(ak[1]);return aj?[aj]:[]}},NAME:function(al,ao,ap){if(typeof ao.getElementsByName!=="undefined"){var ak=[],an=ao.getElementsByName(al[1]);for(var am=0,aj=an.length;am<aj;am++){if(an[am].getAttribute("name")===al[1]){ak.push(an[am])}}return ak.length===0?null:ak}},TAG:function(aj,ak){return V.getElementsByTagName(ak,aj[1])}},preFilter:{CLASS:function(am,ak,al,aj,ap,aq){am=" "+am[1].replace(/\\/g,"")+" ";if(aq){return am}for(var an=0,ao;(ao=ak[an])!=null;an++){if(ao){if(ap^(ao.className&&(" "+ao.className+" ").indexOf(am)>=0)){if(!al){aj.push(ao)}}else{if(al){ak[an]=false}}}}return false},ID:function(aj){return aj[1].replace(/\\/g,"")},TAG:function(ak,aj){for(var al=0;aj[al]===false;al++){}return aj[al]&&ag(aj[al])?ak[1]:ak[1].toUpperCase()},CHILD:function(aj){if(aj[1]=="nth"){var ak=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(aj[2]=="even"&&"2n"||aj[2]=="odd"&&"2n+1"||!/\D/.test(aj[2])&&"0n+"+aj[2]||aj[2]);aj[2]=(ak[1]+(ak[2]||1))-0;aj[3]=ak[3]-0}aj[0]=ab++;return aj},ATTR:function(an,ak,al,aj,ao,ap){var am=an[1].replace(/\\/g,"");if(!ap&&Y.attrMap[am]){an[1]=Y.attrMap[am]}if(an[2]==="~="){an[4]=" "+an[4]+" "}return an},PSEUDO:function(an,ak,al,aj,ao){if(an[1]==="not"){if(an[3].match(ah).length>1||/^\w/.test(an[3])){an[3]=V(an[3],null,null,ak)}else{var am=V.filter(an[3],ak,al,true^ao);if(!al){aj.push.apply(aj,am)}return false}}else{if(Y.match.POS.test(an[0])||Y.match.CHILD.test(an[0])){return true}}return an},POS:function(aj){aj.unshift(true);return aj}},filters:{enabled:function(aj){return aj.disabled===false&&aj.type!=="hidden"},disabled:function(aj){return aj.disabled===true},checked:function(aj){return aj.checked===true},selected:function(aj){aj.parentNode.selectedIndex;return aj.selected===true},parent:function(aj){return !!aj.firstChild},empty:function(aj){return !aj.firstChild},has:function(al,ak,aj){return !!V(aj[3],al).length},header:function(aj){return/h\d/i.test(aj.nodeName)},text:function(aj){return"text"===aj.type},radio:function(aj){return"radio"===aj.type},checkbox:function(aj){return"checkbox"===aj.type},file:function(aj){return"file"===aj.type},password:function(aj){return"password"===aj.type},submit:function(aj){return"submit"===aj.type},image:function(aj){return"image"===aj.type},reset:function(aj){return"reset"===aj.type},button:function(aj){return"button"===aj.type||aj.nodeName.toUpperCase()==="BUTTON"},input:function(aj){return/input|select|textarea|button/i.test(aj.nodeName)}},setFilters:{first:function(ak,aj){return aj===0},last:function(al,ak,aj,am){return ak===am.length-1},even:function(ak,aj){return aj%2===0},odd:function(ak,aj){return aj%2===1},lt:function(al,ak,aj){return ak<aj[3]-0},gt:function(al,ak,aj){return ak>aj[3]-0},nth:function(al,ak,aj){return aj[3]-0==ak},eq:function(al,ak,aj){return aj[3]-0==ak}},filter:{PSEUDO:function(ap,al,am,aq){var ak=al[1],an=Y.filters[ak];if(an){return an(ap,am,al,aq)}else{if(ak==="contains"){return(ap.textContent||ap.innerText||"").indexOf(al[3])>=0}else{if(ak==="not"){var ao=al[3];for(var am=0,aj=ao.length;am<aj;am++){if(ao[am]===ap){return false}}return true}}}},CHILD:function(aj,am){var ap=am[1],ak=aj;switch(ap){case"only":case"first":while(ak=ak.previousSibling){if(ak.nodeType===1){return false}}if(ap=="first"){return true}ak=aj;case"last":while(ak=ak.nextSibling){if(ak.nodeType===1){return false}}return true;case"nth":var al=am[2],at=am[3];if(al==1&&at==0){return true}var ao=am[0],ar=aj.parentNode;if(ar&&(ar.sizcache!==ao||!aj.nodeIndex)){var an=0;for(ak=ar.firstChild;ak;ak=ak.nextSibling){if(ak.nodeType===1){ak.nodeIndex=++an}}ar.sizcache=ao}var aq=aj.nodeIndex-at;if(al==0){return aq==0}else{return(aq%al==0&&aq/al>=0)}}},ID:function(ak,aj){return ak.nodeType===1&&ak.getAttribute("id")===aj},TAG:function(ak,aj){return(aj==="*"&&ak.nodeType===1)||ak.nodeName===aj.replace("\\:",":")},CLASS:function(ak,aj){return(" "+(ak.className||ak.getAttribute("class"))+" ").indexOf(aj)>-1},ATTR:function(ao,am){var al=am[1],aj=Y.attrHandle[al]?Y.attrHandle[al](ao):ao[al]!=null?ao[al]:ao.getAttribute(al),ap=aj+"",an=am[2],ak=am[4];return aj==null?an==="!=":an==="="?ap===ak:an==="*="?ap.indexOf(ak)>=0:an==="~="?(" "+ap+" ").indexOf(ak)>=0:!ak?ap&&aj!==false:an==="!="?ap!=ak:an==="^="?ap.indexOf(ak)===0:an==="$="?ap.substr(ap.length-ak.length)===ak:an==="|="?ap===ak||ap.substr(0,ak.length+1)===ak+"-":false},POS:function(an,ak,al,ao){var aj=ak[2],am=Y.setFilters[aj];if(am){return am(an,al,ak,ao)}}}};var ac=Y.match.POS;for(var ae in Y.match){Y.match[ae]=RegExp(Y.match[ae].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var U=function(ak,aj){ak=Array.prototype.slice.call(ak);if(aj){aj.push.apply(aj,ak);return aj}return ak};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(ad){U=function(an,am){var ak=am||[];if(X.call(an)==="[object Array]"){Array.prototype.push.apply(ak,an)}else{if(typeof an.length==="number"){for(var al=0,aj=an.length;al<aj;al++){ak.push(an[al])}}else{for(var al=0;an[al];al++){ak.push(an[al])}}}return ak}}var W;if(document.documentElement.compareDocumentPosition){W=function(ak,aj){var al=ak.compareDocumentPosition(aj)&4?-1:ak===aj?0:1;if(al===0){hasDuplicate=true}return al}}else{if("sourceIndex" in document.documentElement){W=function(ak,aj){var al=ak.sourceIndex-aj.sourceIndex;if(al===0){hasDuplicate=true}return al}}else{if(document.createRange){W=function(am,ak){var al=am.ownerDocument.createRange(),aj=ak.ownerDocument.createRange();al.selectNode(am);al.collapse(true);aj.selectNode(ak);aj.collapse(true);var an=al.compareBoundaryPoints(Range.START_TO_END,aj);if(an===0){hasDuplicate=true}return an}}}}(function(){var ak=document.createElement("form"),al="script"+(new Date).getTime();ak.innerHTML="<input name='"+al+"'/>";var aj=document.documentElement;aj.insertBefore(ak,aj.firstChild);if(!!document.getElementById(al)){Y.find.ID=function(an,ao,ap){if(typeof ao.getElementById!=="undefined"&&!ap){var am=ao.getElementById(an[1]);return am?am.id===an[1]||typeof am.getAttributeNode!=="undefined"&&am.getAttributeNode("id").nodeValue===an[1]?[am]:x:[]}};Y.filter.ID=function(ao,am){var an=typeof ao.getAttributeNode!=="undefined"&&ao.getAttributeNode("id");return ao.nodeType===1&&an&&an.nodeValue===am}}aj.removeChild(ak)})();(function(){var aj=document.createElement("div");aj.appendChild(document.createComment(""));if(aj.getElementsByTagName("*").length>0){Y.find.TAG=function(ak,ao){var an=V.getElementsByTagName(ao,ak[1]);if(ak[1]==="*"){var am=[];for(var al=0;an[al];al++){if(an[al].nodeType===1){am.push(an[al])}}an=am}return an}}aj.innerHTML="<a href='#'></a>";if(aj.firstChild&&typeof aj.firstChild.getAttribute!=="undefined"&&aj.firstChild.getAttribute("href")!=="#"){Y.attrHandle.href=function(ak){return ak.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var aj=V,ak=document.createElement("div");ak.innerHTML="<p class='TEST'></p>";if(ak.querySelectorAll&&ak.querySelectorAll(".TEST").length===0){return}V=function(ao,an,al,am){an=an||document;if(!am&&an.nodeType===9&&!ag(an)){try{return U(an.querySelectorAll(ao),al)}catch(ap){}}return aj(ao,an,al,am)};V.find=aj.find;V.filter=aj.filter;V.selectors=aj.selectors;V.matches=aj.matches})()}if(G.browser.msie&&(!document.documentMode||document.documentMode<8)){V.getElementsByTagName=function(ao,am){var aq=am.indexOf(":");if(aq!=-1){var ap=am.slice(0,aq),al,aj=[];am=am.slice(aq+1);al=ao.getElementsByTagName(am);for(var an=0,ak=al.length;an<ak;an++){if(al[an].scopeName==ap){aj.push(al[an])}}return aj}else{return ao.getElementsByTagName(am)}}}else{V.getElementsByTagName=function(ak,aj){return ak.getElementsByTagName(aj)}}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){if((G.browser.opera&&parseFloat(G.browser.version)<9.5)||(G.browser.mozilla&&parseFloat(G.browser.version)<1.9)){return}var aj=document.createElement("div");aj.innerHTML="<div class='test e'></div><div class='test'></div>";if(aj.getElementsByClassName("e").length===0){return}aj.lastChild.className="e";if(aj.getElementsByClassName("e").length===1){return}Y.order.splice(1,0,"CLASS");Y.find.CLASS=function(ak,al,am){if(typeof al.getElementsByClassName!=="undefined"&&!am){return al.getElementsByClassName(ak[1])}}})()}function af(ak,ap,ao,au,aq,at){var ar=ak=="previousSibling"&&!at;for(var am=0,al=au.length;am<al;am++){var aj=au[am];if(aj){if(ar&&aj.nodeType===1){aj.sizcache=ao;aj.sizset=am}aj=aj[ak];var an=false;while(aj){if(aj.sizcache===ao){an=au[aj.sizset];break}if(aj.nodeType===1&&!at){aj.sizcache=ao;aj.sizset=am}if(aj.nodeName===ap){an=aj;break}aj=aj[ak]}au[am]=an}}}function ai(ak,ap,ao,au,aq,at){var ar=ak=="previousSibling"&&!at;for(var am=0,al=au.length;am<al;am++){var aj=au[am];if(aj){if(ar&&aj.nodeType===1){aj.sizcache=ao;aj.sizset=am}aj=aj[ak];var an=false;while(aj){if(aj.sizcache===ao){an=au[aj.sizset];break}if(aj.nodeType===1){if(!at){aj.sizcache=ao;aj.sizset=am}if(typeof ap!=="string"){if(aj===ap){an=true;break}}else{if(V.filter(ap,[aj]).length>0){an=aj;break}}}aj=aj[ak]}au[am]=an}}}var aa=document.compareDocumentPosition?function(ak,aj){return ak.compareDocumentPosition(aj)&16}:function(ak,aj){return ak!==aj&&(ak.contains?ak.contains(aj):true)};var ag=function(aj){return aj.nodeType===9&&aj.documentElement.nodeName!=="HTML"||!!aj.ownerDocument&&ag(aj.ownerDocument)};var Z=function(aj,aq){var am=[],an="",ao,al=aq.nodeType?[aq]:aq;while((ao=Y.match.PSEUDO.exec(aj))){an+=ao[0];aj=aj.replace(Y.match.PSEUDO,"")}aj=Y.relative[aj]?aj+"*":aj;for(var ap=0,ak=al.length;ap<ak;ap++){V(aj,al[ap],am)}return V.filter(an,am)};G.find=V;G.filter=V.filter;G.expr=V.selectors;G.expr[":"]=G.expr.filters;V.selectors.filters.hidden=function(aj){return aj.offsetWidth===0||aj.offsetHeight===0};V.selectors.filters.visible=function(aj){return aj.offsetWidth>0||aj.offsetHeight>0};V.selectors.filters.animated=function(aj){return G.grep(G.timers,function(ak){return aj===ak.elem}).length};G.multiFilter=function(al,aj,ak){if(ak){al=":not("+al+")"}return V.matches(al,aj)};G.dir=function(al,ak){var aj=[],am=al[ak];while(am&&am!=document){if(am.nodeType==1){aj.push(am)}am=am[ak]}return aj};G.nth=function(an,aj,al,am){aj=aj||1;var ak=0;for(;an;an=an[al]){if(an.nodeType==1&&++ak==aj){break}}return an};G.sibling=function(al,ak){var aj=[];for(;al;al=al.nextSibling){if(al.nodeType==1&&al!=ak){aj.push(al)}}return aj};return;B.Sizzle=V})();G.event={add:function(Y,V,X,aa){if(Y.nodeType==3||Y.nodeType==8){return}if(Y.setInterval&&Y!=B){Y=B}if(!X.guid){X.guid=this.guid++}if(aa!==x){var W=X;X=this.proxy(W);X.data=aa}var U=G.data(Y,"events")||G.data(Y,"events",{}),Z=G.data(Y,"handle")||G.data(Y,"handle",function(){return typeof G!=="undefined"&&!G.event.triggered?G.event.handle.apply(arguments.callee.elem,arguments):x});Z.elem=Y;G.each(V.split(/\s+/),function(ac,ad){var ae=ad.split(".");ad=ae.shift();X.type=ae.slice().sort().join(".");var ab=U[ad];if(G.event.specialAll[ad]){G.event.specialAll[ad].setup.call(Y,aa,ae)}if(!ab){ab=U[ad]={};if(!G.event.special[ad]||G.event.special[ad].setup.call(Y,aa,ae)===false){if(Y.addEventListener){Y.addEventListener(ad,Z,false)}else{if(Y.attachEvent){Y.attachEvent("on"+ad,Z)}}}}ab[X.guid]=X;G.event.global[ad]=true});Y=null},guid:1,global:{},remove:function(aa,X,Z){if(aa.nodeType==3||aa.nodeType==8){return}var W=G.data(aa,"events"),V,U;if(W){if(X===x||(typeof X==="string"&&X.charAt(0)==".")){for(var Y in W){this.remove(aa,Y+(X||""))}}else{if(X.type){Z=X.handler;X=X.type}G.each(X.split(/\s+/),function(ac,ae){var ag=ae.split(".");ae=ag.shift();var ad=RegExp("(^|\\.)"+ag.slice().sort().join(".*\\.")+"(\\.|$)");if(W[ae]){if(Z){delete W[ae][Z.guid]}else{for(var af in W[ae]){if(ad.test(W[ae][af].type)){delete W[ae][af]}}}if(G.event.specialAll[ae]){G.event.specialAll[ae].teardown.call(aa,ag)}for(V in W[ae]){break}if(!V){if(!G.event.special[ae]||G.event.special[ae].teardown.call(aa,ag)===false){if(aa.removeEventListener){aa.removeEventListener(ae,G.data(aa,"handle"),false)}else{if(aa.detachEvent){aa.detachEvent("on"+ae,G.data(aa,"handle"))}}}V=null;delete W[ae]}}})}for(V in W){break}if(!V){var ab=G.data(aa,"handle");if(ab){ab.elem=null}G.removeData(aa,"events");G.removeData(aa,"handle")}}},trigger:function(Y,aa,X,U){var W=Y.type||Y;if(!U){Y=typeof Y==="object"?Y[y]?Y:G.extend(G.Event(W),Y):G.Event(W);if(W.indexOf("!")>=0){Y.type=W=W.slice(0,-1);Y.exclusive=true}if(!X){Y.stopPropagation();if(this.global[W]){G.each(G.cache,function(){if(this.events&&this.events[W]){G.event.trigger(Y,aa,this.handle.elem)}})}}if(!X||X.nodeType==3||X.nodeType==8){return x}Y.result=x;Y.target=X;aa=G.makeArray(aa);aa.unshift(Y)}Y.currentTarget=X;var Z=G.data(X,"handle");if(Z){Z.apply(X,aa)}if((!X[W]||(G.nodeName(X,"a")&&W=="click"))&&X["on"+W]&&X["on"+W].apply(X,aa)===false){Y.result=false}if(!U&&X[W]&&!Y.isDefaultPrevented()&&!(G.nodeName(X,"a")&&W=="click")){this.triggered=true;try{X[W]()}catch(ab){}}this.triggered=false;if(!Y.isPropagationStopped()){var V=X.parentNode||X.ownerDocument;if(V){G.event.trigger(Y,aa,V,true)}}},handle:function(aa){var Z,U;aa=arguments[0]=G.event.fix(aa||B.event);aa.currentTarget=this;var ab=aa.type.split(".");aa.type=ab.shift();Z=!ab.length&&!aa.exclusive;var Y=RegExp("(^|\\.)"+ab.slice().sort().join(".*\\.")+"(\\.|$)");U=(G.data(this,"events")||{})[aa.type];for(var W in U){var X=U[W];if(Z||Y.test(X.type)){aa.handler=X;aa.data=X.data;var V=X.apply(this,arguments);if(V!==x){aa.result=V;if(V===false){aa.preventDefault();aa.stopPropagation()}}if(aa.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(Y){if(Y[y]){return Y}var V=Y;Y=G.Event(V);for(var W=this.props.length,aa;W;){aa=this.props[--W];Y[aa]=V[aa]}if(!Y.target){Y.target=Y.srcElement||document}if(Y.target.nodeType==3){Y.target=Y.target.parentNode}if(!Y.relatedTarget&&Y.fromElement){Y.relatedTarget=Y.fromElement==Y.target?Y.toElement:Y.fromElement}if(Y.relatedTarget&&g.mozilla){try{-Y.relatedTarget.nodeType}catch(X){Y.relatedTarget=null}}if(Y.pageX==null&&Y.clientX!=null){var Z=document.documentElement,U=document.body;Y.pageX=Y.clientX+(Z&&Z.scrollLeft||U&&U.scrollLeft||0)-(Z.clientLeft||0);Y.pageY=Y.clientY+(Z&&Z.scrollTop||U&&U.scrollTop||0)-(Z.clientTop||0)}if(!Y.which&&((Y.charCode||Y.charCode===0)?Y.charCode:Y.keyCode)){Y.which=Y.charCode||Y.keyCode}if(!Y.metaKey&&Y.ctrlKey){Y.metaKey=Y.ctrlKey}if(!Y.which&&Y.button){Y.which=(Y.button&1?1:(Y.button&2?3:(Y.button&4?2:0)))}var Z=document.documentElement,U=document.body;if(!(g.opera&&g.version<=9.27)){Y.clientX-=(Z.clientLeft||U.clientLeft||0);Y.clientY-=(Z.clientTop||U.clientTop||0)}return Y},proxy:function(V,U){U=U||function(){return V.apply(this,arguments)};U.guid=V.guid=V.guid||U.guid||this.guid++;return U},special:{ready:{setup:R,teardown:function(){}}},specialAll:{live:{setup:function(U,V){G.event.add(this,V[0],t)},teardown:function(W){if(W.length){var U=0,V=RegExp("(^|\\.)"+W[0]+"(\\.|$)");G.each((G.data(this,"events").live||{}),function(){if(V.test(this.type)){U++}});if(U<1){G.event.remove(this,W[0],t)}}}}}};G.Event=function(U){if(!this.preventDefault){return new G.Event(U)}if(U&&U.type){this.originalEvent=U;this.type=U.type}else{this.type=U}this.timeStamp=v();this[y]=true};function C(){return false}function L(){return true}G.Event.prototype={preventDefault:function(){this.isDefaultPrevented=L;var U=this.originalEvent;if(!U){return}if(U.preventDefault){U.preventDefault()}U.returnValue=false},stopPropagation:function(){this.isPropagationStopped=L;var U=this.originalEvent;if(!U){return}if(U.stopPropagation){U.stopPropagation()}U.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=L;this.stopPropagation()},isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C};var r=function(V){var U=V.relatedTarget;while(U&&U!=this){try{U=U.parentNode}catch(W){U=this}}if(U!=this){V.type=V.data;G.event.handle.apply(this,arguments)}};G.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(V,U){G.event.special[U]={setup:function(){G.event.add(this,V,r,U)},teardown:function(){G.event.remove(this,V,r)}}});G.fn.extend({bind:function(V,W,U){return V=="unload"?this.one(V,W,U):this.each(function(){G.event.add(this,V,U||W,U&&W)})},one:function(W,X,V){var U=G.event.proxy(V||X,function(Y){G(this).unbind(Y,U);return(V||X).apply(this,arguments)});return this.each(function(){G.event.add(this,W,U,V&&X)})},unbind:function(V,U){return this.each(function(){G.event.remove(this,V,U)})},trigger:function(U,V){return this.each(function(){G.event.trigger(U,V,this)})},triggerHandler:function(U,W){if(this[0]){var V=G.Event(U);V.preventDefault();V.stopPropagation();G.event.trigger(V,W,this[0]);return V.result}},toggle:function(W){var U=arguments,V=1;while(V<U.length){G.event.proxy(W,U[V++])}return this.click(G.event.proxy(W,function(X){this.lastToggle=(this.lastToggle||0)%V;X.preventDefault();return U[this.lastToggle++].apply(this,arguments)||false}))},hover:function(U,V){return this.mouseenter(U).mouseleave(V)},ready:function(U){R();if(G.isReady){U.call(document,G)}else{G.readyList.push(U)}return this},live:function(W,V){var U=G.event.proxy(V);U.guid+=this.selector+W;G(document).bind(z(W,this.selector),this.selector,U);return this},die:function(V,U){G(document).unbind(z(V,this.selector),U?{guid:U.guid+this.selector+V}:null);return this}});function t(X){var U=RegExp("(^|\\.)"+X.type+"(\\.|$)"),W=true,V=[];G.each(G.data(this,"events").live||[],function(Y,Z){if(U.test(Z.type)){var aa=G(X.target).closest(Z.data)[0];if(aa){V.push({elem:aa,fn:Z})}}});V.sort(function(Z,Y){return G.data(Z.elem,"closest")-G.data(Y.elem,"closest")});G.each(V,function(){if(this.fn.call(this.elem,X,this.fn.data)===false){return(W=false)}});return W}function z(V,U){return["live",V,U.replace(/\./g,"`").replace(/ /g,"|")].join(".")}G.extend({isReady:false,readyList:[],ready:function(){if(!G.isReady){G.isReady=true;if(G.readyList){G.each(G.readyList,function(){this.call(document,G)});G.readyList=null}G(document).triggerHandler("ready")}}});var O=false;function R(){if(O){return}O=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);G.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);G.ready()}});if(document.documentElement.doScroll&&B==B.top){(function(){if(G.isReady){return}try{document.documentElement.doScroll("left")}catch(U){setTimeout(arguments.callee,0);return}G.ready()})()}}}G.event.add(B,"load",G.ready)}G.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(V,U){G.fn[U]=function(W){return W?this.bind(U,W):this.trigger(U)}});G(B).bind("unload",function(){for(var U in G.cache){if(U!=1&&G.cache[U].handle){G.event.remove(G.cache[U].handle.elem)}}});(function(){G.support={};var V=document.documentElement,W=document.createElement("script"),aa=document.createElement("div"),Z="script"+(new Date).getTime();aa.style.display="none";aa.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var X=aa.getElementsByTagName("*"),U=aa.getElementsByTagName("a")[0];if(!X||!X.length||!U){return}G.support={leadingWhitespace:aa.firstChild.nodeType==3,tbody:!aa.getElementsByTagName("tbody").length,objectAll:!!aa.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!aa.getElementsByTagName("link").length,style:/red/.test(U.getAttribute("style")),hrefNormalized:U.getAttribute("href")==="/a",opacity:U.style.opacity==="0.5",cssFloat:!!U.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};W.type="text/javascript";try{W.appendChild(document.createTextNode("window."+Z+"=1;"))}catch(Y){}V.insertBefore(W,V.firstChild);if(B[Z]){G.support.scriptEval=true;delete B[Z]}V.removeChild(W);if(aa.attachEvent&&aa.fireEvent){aa.attachEvent("onclick",function(){G.support.noCloneEvent=false;aa.detachEvent("onclick",arguments.callee)});aa.cloneNode(true).fireEvent("onclick")}G(function(){var ab=document.createElement("div");ab.style.width=ab.style.paddingLeft="1px";document.body.appendChild(ab);G.boxModel=G.support.boxModel=ab.offsetWidth===2;document.body.removeChild(ab).style.display="none"})})();var N=G.support.cssFloat?"cssFloat":"styleFloat";G.props={"for":"htmlFor","class":"className","float":N,cssFloat:N,styleFloat:N,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};G.fn.extend({_load:G.fn.load,load:function(W,Z,aa){if(typeof W!=="string"){return this._load(W)}var Y=W.indexOf(" ");if(Y>=0){var U=W.slice(Y,W.length);W=W.slice(0,Y)}var X="GET";if(Z){if(G.isFunction(Z)){aa=Z;Z=null}else{if(typeof Z==="object"){Z=G.param(Z);X="POST"}}}var V=this;G.ajax({url:W,type:X,dataType:"html",data:Z,complete:function(ac,ab){if(ab=="success"||ab=="notmodified"){V.html(U?G("<div/>").append(ac.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(U):ac.responseText)}if(aa){V.each(aa,[ac.responseText,ab,ac])}}});return this},serialize:function(){return G.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?G.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(U,V){var W=G(this).val();return W==null?null:G.isArray(W)?G.map(W,function(Y,X){return{name:V.name,value:Y}}):{name:V.name,value:W}}).get()}});G.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(U,V){G.fn[V]=function(W){return this.bind(V,W)}});var I=v();G.extend({get:function(U,W,X,V){if(G.isFunction(W)){X=W;W=null}return G.ajax({type:"GET",url:U,data:W,success:X,dataType:V})},getScript:function(U,V){return G.get(U,null,V,"script")},getJSON:function(U,V,W){return G.get(U,V,W,"json")},post:function(U,W,X,V){if(G.isFunction(W)){X=W;W={}}return G.ajax({type:"POST",url:U,data:W,success:X,dataType:V})},ajaxSetup:function(U){G.extend(G.ajaxSettings,U)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return B.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(ac){ac=G.extend(true,ac,G.extend(true,{},G.ajaxSettings,ac));var am,V=/=\?(&|$)/g,ah,al,W=ac.type.toUpperCase();if(ac.data&&ac.processData&&typeof ac.data!=="string"){ac.data=G.param(ac.data)}if(ac.dataType=="jsonp"){if(W=="GET"){if(!ac.url.match(V)){ac.url+=(ac.url.match(/\?/)?"&":"?")+(ac.jsonp||"callback")+"=?"}}else{if(!ac.data||!ac.data.match(V)){ac.data=(ac.data?ac.data+"&":"")+(ac.jsonp||"callback")+"=?"}}ac.dataType="json"}if(ac.dataType=="json"&&(ac.data&&ac.data.match(V)||ac.url.match(V))){am="jsonp"+I++;if(ac.data){ac.data=(ac.data+"").replace(V,"="+am+"$1")}ac.url=ac.url.replace(V,"="+am+"$1");ac.dataType="script";B[am]=function(an){al=an;Y();ab();B[am]=x;try{delete B[am]}catch(ao){}if(X){X.removeChild(aj)}}}if(ac.dataType=="script"&&ac.cache==null){ac.cache=false}if(ac.cache===false&&W=="GET"){var U=v();var ak=ac.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+U+"$2");ac.url=ak+((ak==ac.url)?(ac.url.match(/\?/)?"&":"?")+"_="+U:"")}if(ac.data&&W=="GET"){ac.url+=(ac.url.match(/\?/)?"&":"?")+ac.data;ac.data=null}if(ac.global&&!G.active++){G.event.trigger("ajaxStart")}var ag=/^(\w+:)?\/\/([^\/?#]+)/.exec(ac.url);if(ac.dataType=="script"&&W=="GET"&&ag&&(ag[1]&&ag[1]!=location.protocol||ag[2]!=location.host)){var X=document.getElementsByTagName("head")[0];var aj=document.createElement("script");if(ac.scriptCharset){aj.charset=ac.scriptCharset}aj.src=ac.url;if(!am){var ae=false;aj.onload=aj.onreadystatechange=function(){if(!ae&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){ae=true;Y();ab();aj.onload=aj.onreadystatechange=null;X.removeChild(aj)}}}X.appendChild(aj);return x}var aa=false;var Z=ac.xhr();if(ac.username){Z.open(W,ac.url,ac.async,ac.username,ac.password)}else{Z.open(W,ac.url,ac.async)}try{if(ac.data){Z.setRequestHeader("Content-Type",ac.contentType)}if(ac.ifModified){Z.setRequestHeader("If-Modified-Since",G.lastModified[ac.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}Z.setRequestHeader("X-Requested-With","XMLHttpRequest");Z.setRequestHeader("Accept",ac.dataType&&ac.accepts[ac.dataType]?ac.accepts[ac.dataType]+", */*":ac.accepts._default)}catch(ai){}if(ac.beforeSend&&ac.beforeSend(Z,ac)===false){if(ac.global&&!--G.active){G.event.trigger("ajaxStop")}Z.abort();return false}if(ac.global){G.event.trigger("ajaxSend",[Z,ac])}var ad=function(an){if(Z.readyState==0){if(af){clearInterval(af);af=null;if(ac.global&&!--G.active){G.event.trigger("ajaxStop")}}}else{if(!aa&&Z&&(Z.readyState==4||an=="timeout")){aa=true;if(af){clearInterval(af);af=null}ah=an=="timeout"?"timeout":!G.httpSuccess(Z)?"error":ac.ifModified&&G.httpNotModified(Z,ac.url)?"notmodified":"success";if(ah=="success"){try{al=G.httpData(Z,ac.dataType,ac)}catch(ap){ah="parsererror"}}if(ah=="success"){var ao;try{ao=Z.getResponseHeader("Last-Modified")}catch(ap){}if(ac.ifModified&&ao){G.lastModified[ac.url]=ao}if(!am){Y()}}else{G.handleError(ac,Z,ah)}ab();if(an){Z.abort()}if(ac.async){Z=null}}}};if(ac.async){var af=setInterval(ad,13);if(ac.timeout>0){setTimeout(function(){if(Z&&!aa){ad("timeout")}},ac.timeout)}}try{Z.send(ac.data)}catch(ai){G.handleError(ac,Z,null,ai)}if(!ac.async){ad()}function Y(){if(ac.success){ac.success(al,ah)}if(ac.global){G.event.trigger("ajaxSuccess",[Z,ac])}}function ab(){if(ac.complete){ac.complete(Z,ah)}if(ac.global){G.event.trigger("ajaxComplete",[Z,ac])}if(ac.global&&!--G.active){G.event.trigger("ajaxStop")}}return Z},handleError:function(V,X,U,W){if(V.error){V.error(X,U,W)}if(V.global){G.event.trigger("ajaxError",[X,V,W])}},active:0,httpSuccess:function(V){try{return !V.status&&location.protocol=="file:"||(V.status>=200&&V.status<300)||V.status==304||V.status==1223}catch(U){}return false},httpNotModified:function(W,U){try{var X=W.getResponseHeader("Last-Modified");return W.status==304||X==G.lastModified[U]}catch(V){}return false},httpData:function(Z,X,W){var V=Z.getResponseHeader("content-type"),U=X=="xml"||!X&&V&&V.indexOf("xml")>=0,Y=U?Z.responseXML:Z.responseText;if(U&&Y.documentElement.tagName=="parsererror"){throw"parsererror"}if(W&&W.dataFilter){Y=W.dataFilter(Y,X)}if(typeof Y==="string"){if(X=="script"){G.globalEval(Y)}if(X=="json"){Y=B["eval"]("("+Y+")")}}return Y},param:function(U){var W=[];function X(Y,Z){W[W.length]=encodeURIComponent(Y)+"="+encodeURIComponent(Z)}if(G.isArray(U)||U.jquery){G.each(U,function(){X(this.name,this.value)})}else{for(var V in U){if(G.isArray(U[V])){G.each(U[V],function(){X(V,this)})}else{X(V,G.isFunction(U[V])?U[V]():U[V])}}}return W.join("&").replace(/%20/g,"+")}});var D={},E,u=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function K(V,U){var W={};G.each(u.concat.apply([],u.slice(0,U)),function(){W[this]=V});return W}G.fn.extend({show:function(Z,ab){if(Z){return this.animate(K("show",3),Z,ab)}else{for(var X=0,V=this.length;X<V;X++){var U=G.data(this[X],"olddisplay");this[X].style.display=U||"";if(G.css(this[X],"display")==="none"){var W=this[X].tagName,aa;if(D[W]){aa=D[W]}else{var Y=G("<"+W+" />").appendTo("body");aa=Y.css("display");if(aa==="none"){aa="block"}Y.remove();D[W]=aa}G.data(this[X],"olddisplay",aa)}}for(var X=0,V=this.length;X<V;X++){this[X].style.display=G.data(this[X],"olddisplay")||""}return this}},hide:function(X,Y){if(X){return this.animate(K("hide",3),X,Y)}else{for(var W=0,V=this.length;W<V;W++){var U=G.data(this[W],"olddisplay");if(!U&&U!=="none"){G.data(this[W],"olddisplay",G.css(this[W],"display"))}}for(var W=0,V=this.length;W<V;W++){this[W].style.display="none"}return this}},_toggle:G.fn.toggle,toggle:function(W,V){var U=typeof W==="boolean";return G.isFunction(W)&&G.isFunction(V)?this._toggle.apply(this,arguments):W==null||U?this.each(function(){var X=U?W:G(this).is(":hidden");G(this)[X?"show":"hide"]()}):this.animate(K("toggle",3),W,V)},fadeTo:function(U,W,V){return this.animate({opacity:W},U,V)},animate:function(Y,V,X,W){var U=G.speed(V,X,W);return this[U.queue===false?"each":"queue"](function(){var aa=G.extend({},U),ac,ab=this.nodeType==1&&G(this).is(":hidden"),Z=this;for(ac in Y){if(Y[ac]=="hide"&&ab||Y[ac]=="show"&&!ab){return aa.complete.call(this)}if((ac=="height"||ac=="width")&&this.style){aa.display=G.css(this,"display");aa.overflow=this.style.overflow}}if(aa.overflow!=null){this.style.overflow="hidden"}aa.curAnim=G.extend({},Y);G.each(Y,function(ae,ai){var ah=new G.fx(Z,aa,ae);if(/toggle|show|hide/.test(ai)){ah[ai=="toggle"?ab?"show":"hide":ai](Y)}else{var ag=ai.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),aj=ah.cur(true)||0;if(ag){var ad=parseFloat(ag[2]),af=ag[3]||"px";if(af!="px"){Z.style[ae]=(ad||1)+af;aj=((ad||1)/ah.cur(true))*aj;Z.style[ae]=aj+af}if(ag[1]){ad=((ag[1]=="-="?-1:1)*ad)+aj}ah.custom(aj,ad,af)}else{ah.custom(aj,ai,"")}}});return true})},stop:function(V,U){var W=G.timers;if(V){this.queue([])}this.each(function(){for(var X=W.length-1;X>=0;X--){if(W[X].elem==this){if(U){W[X](true)}W.splice(X,1)}}});if(!U){this.dequeue()}return this}});G.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(U,V){G.fn[U]=function(W,X){return this.animate(V,W,X)}});G.extend({speed:function(W,X,V){var U=typeof W==="object"?W:{complete:V||!V&&X||G.isFunction(W)&&W,duration:W,easing:V&&X||X&&!G.isFunction(X)&&X};U.duration=G.fx.off?0:typeof U.duration==="number"?U.duration:G.fx.speeds[U.duration]||G.fx.speeds._default;U.old=U.complete;U.complete=function(){if(U.queue!==false){G(this).dequeue()}if(G.isFunction(U.old)){U.old.call(this)}};return U},easing:{linear:function(W,X,U,V){return U+V*W},swing:function(W,X,U,V){return((-Math.cos(W*Math.PI)/2)+0.5)*V+U}},timers:[],fx:function(V,U,W){this.options=U;this.elem=V;this.prop=W;if(!U.orig){U.orig={}}}});G.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(G.fx.step[this.prop]||G.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(V){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var U=parseFloat(G.css(this.elem,this.prop,V));return U&&U>-10000?U:parseFloat(G.curCSS(this.elem,this.prop))||0},custom:function(Y,X,W){this.startTime=v();this.start=Y;this.end=X;this.unit=W||this.unit||"px";this.now=this.start;this.pos=this.state=0;var U=this;function V(Z){return U.step(Z)}V.elem=this.elem;if(V()&&G.timers.push(V)&&!E){E=setInterval(function(){var aa=G.timers;for(var Z=0;Z<aa.length;Z++){if(!aa[Z]()){aa.splice(Z--,1)}}if(!aa.length){clearInterval(E);E=x}},13)}},show:function(){this.options.orig[this.prop]=G.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());G(this.elem).show()},hide:function(){this.options.orig[this.prop]=G.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(X){var W=v();if(X||W>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var U=true;for(var V in this.options.curAnim){if(this.options.curAnim[V]!==true){U=false}}if(U){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(G.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){G(this.elem).hide()}if(this.options.hide||this.options.show){for(var Y in this.options.curAnim){G.attr(this.elem.style,Y,this.options.orig[Y])}}this.options.complete.call(this.elem)}return false}else{var Z=W-this.startTime;this.state=Z/this.options.duration;this.pos=G.easing[this.options.easing||(G.easing.swing?"swing":"linear")](this.state,Z,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};G.extend(G.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(U){G.attr(U.elem.style,"opacity",U.now)},_default:function(U){if(U.elem.style&&U.elem.style[U.prop]!=null){U.elem.style[U.prop]=U.now+U.unit}else{U.elem[U.prop]=U.now}}}});if(document.documentElement.getBoundingClientRect){G.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return G.offset.bodyOffset(this[0])}var W=this[0].getBoundingClientRect(),Z=this[0].ownerDocument,V=Z.body,U=Z.documentElement,ab=U.clientTop||V.clientTop||0,aa=U.clientLeft||V.clientLeft||0,Y=W.top+(self.pageYOffset||G.boxModel&&U.scrollTop||V.scrollTop)-ab,X=W.left+(self.pageXOffset||G.boxModel&&U.scrollLeft||V.scrollLeft)-aa;return{top:Y,left:X}}}else{if(document.getBoxObjectFor){G.fn.offset=function(){if(this[0]===document){return{top:0,left:0}}var Z=document.getBoxObjectFor(this[0]),Y=0,ab=0,X=this[0],aa=X.ownerDocument,V=aa.documentElement,U=aa.body;var W=aa.defaultView.getComputedStyle(X,null);while((X=X.parentNode)&&X!==U&&X!==V){Y+=X.scrollTop;ab+=X.scrollLeft}return{top:Z.y-parseInt(W.borderTopWidth,10)-Y,left:Z.x-parseInt(W.borderLeftWidth,10)-ab}}}else{G.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return G.offset.bodyOffset(this[0])}G.offset.initialized||G.offset.initialize();var Z=this[0],W=Z.offsetParent,V=Z,ae=Z.ownerDocument,ac,X=ae.documentElement,aa=ae.body,ab=ae.defaultView,U=ab.getComputedStyle(Z,null),ad=Z.offsetTop,Y=Z.offsetLeft;while((Z=Z.parentNode)&&Z!==aa&&Z!==X){ac=ab.getComputedStyle(Z,null);if(!g.opera||g.version>9.27||(Z.tagName!="TR"&&Z.tagName!="TBODY")){ad-=Z.scrollTop,Y-=Z.scrollLeft}if(Z===W){ad+=Z.offsetTop,Y+=Z.offsetLeft;if(G.offset.doesNotAddBorder&&!(G.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(Z.tagName))){ad+=parseInt(ac.borderTopWidth,10)||0,Y+=parseInt(ac.borderLeftWidth,10)||0}V=W,W=Z.offsetParent}if(G.offset.subtractsBorderForOverflowNotVisible&&ac.overflow!=="visible"){ad+=parseInt(ac.borderTopWidth,10)||0,Y+=parseInt(ac.borderLeftWidth,10)||0}U=ac}if(U.position==="relative"||U.position==="static"){ad+=aa.offsetTop,Y+=aa.offsetLeft}if(U.position==="fixed"){ad+=Math.max(X.scrollTop,aa.scrollTop),Y+=Math.max(X.scrollLeft,aa.scrollLeft)}return{top:ad,left:Y}}}}G.offset={initialize:function(){if(this.initialized){return}var ab=document.body,V=document.createElement("div"),X,W,ad,Y,ac,U,Z=ab.style.marginTop,aa='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';ac={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(U in ac){V.style[U]=ac[U]}V.innerHTML=aa;ab.insertBefore(V,ab.firstChild);X=V.firstChild,W=X.firstChild,Y=X.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(W.offsetTop!==5);this.doesAddBorderForTableAndCells=(Y.offsetTop===5);X.style.overflow="hidden",X.style.position="relative";this.subtractsBorderForOverflowNotVisible=(W.offsetTop===-5);ab.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(ab.offsetTop===0);ab.style.marginTop=Z;ab.removeChild(V);this.initialized=true},bodyOffset:function(U){G.offset.initialized||G.offset.initialize();var W=U.offsetTop,V=U.offsetLeft;if(G.offset.doesNotIncludeMarginInBodyOffset){W+=parseInt(G.curCSS(U,"marginTop",true),10)||0,V+=parseInt(G.curCSS(U,"marginLeft",true),10)||0}return{top:W,left:V}}};G.fn.extend({position:function(){var Y=0,X=0,V;if(this[0]){var W=this.offsetParent(),Z=this.offset(),U=/^body|html$/i.test(W[0].tagName)?{top:0,left:0}:W.offset();Z.top-=A(this,"marginTop");Z.left-=A(this,"marginLeft");U.top+=A(W,"borderTopWidth");U.left+=A(W,"borderLeftWidth");V={top:Z.top-U.top,left:Z.left-U.left}}return V},offsetParent:function(){var U=this[0].offsetParent||document.body;while(U&&(!/^body|html$/i.test(U.tagName)&&G.css(U,"position")=="static")){U=U.offsetParent}return G(U)}});var F=typeof B.pageXOffset=="number";G.each(["Left","Top"],function(V,U){var W="scroll"+U;G.fn[W]=function(X){if(!this[0]){return null}return X!==x?this.each(function(){this==B||this==document?B.scrollTo(!V?X:G(B).scrollLeft(),V?X:G(B).scrollTop()):this[W]=X}):this[0]==B||this[0]==document?(F?self[V?"pageYOffset":"pageXOffset"]:G.boxModel&&document.documentElement[W]||document.body[W]):this[0][W]}});G.each(["Height","Width"],function(Y,W){var U=Y?"Left":"Top",X=Y?"Right":"Bottom",V=W.toLowerCase();G.fn["inner"+W]=function(){return this[0]?G.css(this[0],V,false,"padding"):null};G.fn["outer"+W]=function(aa){return this[0]?G.css(this[0],V,false,aa?"margin":"border"):null};var Z=W.toLowerCase();G.fn[Z]=function(aa){return this[0]==B?g.opera&&B["inner"+W]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+W]||document.body["client"+W]:this[0]==document?Math.max(document.documentElement["client"+W],document.body["scroll"+W],document.documentElement["scroll"+W],document.body["offset"+W],document.documentElement["offset"+W]):aa===x?(this.length?G.css(this[0],Z):null):this.css(Z,typeof aa==="string"?aa:aa+"px")}})})();f.jQuery.os={name:(/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase())||["unknown"])[0].replace("sunos","solaris")};(function(r){r.fn.removeFromDom=function(){return this.each(function(){if(this&&this.parentNode){this.parentNode.removeChild(this)}})}})(f.jQuery);(function(x){var A=x.fn.bind;var B=x.fn.unbind;var r=/keydown|keypress|keyup/g;var t={8:"backspace",9:"tab",13:"return",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",107:"+",109:"-",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",145:"scroll",144:"numlock"};var w={};x.fn.bind=function(G,H,F){var E;if(E=y(G,H)){if(E.unhandled){A.call(this,E.unhandled,H,F)}var C=x.isFunction(H);var I=(C&&H||F);var D=typeof H=="string"?{shortcut:H}:(C?{}:H);D.__hotkeys__=E;return A.call(this,E.handled,D,v(I,function(J){if(s(J)){I.apply(this,arguments)}},E.parsedData.shortcut))}return A.apply(this,arguments)};x.fn.unbind=function(F,G,E){var D;if((D=y(F,G))&&E.guid){if(D.unhandled){B.call(this,D.unhandled,G,E)}var C=w[E.guid][D.parsedData.shortcut];return B.call(this,D.handled,{guid:C})}return B.apply(this,arguments)};function y(D,E){if(typeof D!="string"){return null}var C;C=D.match(r);if(!C){return null}var G=u(E);if(!G||!G.key){return null}var F=x.trim(D.replace(r,""));return{handled:C.join(" "),unhandled:F,parsedData:G}}function u(D){var F={};if(typeof D=="string"){var C=x.trim(D)=="+"?["+"]:D.toLowerCase().split(/\s*\+\s*/);F.altKey=x.inArray("alt",C)!=-1;F.ctrlKey=x.inArray("ctrl",C)!=-1;F.shiftKey=x.inArray("shift",C)!=-1;F.key=C[C.length-1]}else{if(D===undefined){return null}else{F=D;F.altKey=!!F.alt;F.ctrlKey=!!F.ctrl;F.shiftKey=!!F.shift}}F.shortcut=(F.altKey?"alt+":"")+(F.ctrlKey?"ctrl+":"")+(F.shiftKey?"shift+":"")+F.key;F.disableInInput=!!F.disableInInput;if(!F.key){return null}if(typeof F.key!="string"){var E=parseInt(F.key);if(!isNaN(E)){F.key=String.fromCharCode(E).toLowerCase()}}else{F.key=F.key.toLowerCase();if(F.key.length>1){var G=false;x.each(t,function(){G=G||this.toString()==F.key});if(!G){return null}}}return F}function s(D){if(D.data&&D.data.__hotkeys__){var C=D.data.__hotkeys__.parsedData;D.altKey=D.altKey||D.originalEvent.altKey;try{if(C.disableInInput&&D.originalTarget&&D.originalTarget.nodeName){var E=D.originalTarget.nodeName.toLowerCase();if(E=="input"||E=="textarea"){return false}}}catch(D){}if((t[D.which]==C.key||String.fromCharCode(D.which).toLowerCase()==C.key)&&z(C,D,["altKey","ctrlKey","shiftKey"])){return true}}return false}function z(F,D,C){var E=true;x.each(C,function(){var G=this.toString();E=E&&F[G]==D[G]});return E}function v(E,D,C){if(!E.guid){E.guid=x.event.guid++}if(!w[E.guid]){w[E.guid]={}}D.guid=w[E.guid][C]=D.guid||w[E.guid][C]||x.event.guid++;return D}})(f.jQuery);(function(r){r.fn.wheel=function(u){return this[u?"bind":"trigger"]("wheel",u)};r.event.special.wheel={setup:function(){r.event.add(this,t,s,{})},teardown:function(){r.event.remove(this,t,s)}};var t=!r.browser.mozilla?"mousewheel":"DOMMouseScroll"+(r.browser.version<"1.9"?" mousemove":"");function s(v){var u=v.originalEvent;switch(v.type){case"mousemove":return r.extend(v.data,{clientX:v.clientX,clientY:v.clientY,pageX:v.pageX,pageY:v.pageY});case"DOMMouseScroll":r.extend(v,v.data);v.delta=-v.detail/3;if(u.axis!==undefined&&u.axis==1){v.deltaX=v.delta;v.deltaY=0}else{v.deltaX=0;v.deltaY=v.delta}break;case"mousewheel":v.delta=v.wheelDelta/120;if(u.wheelDeltaX!==undefined){v.deltaX=u.wheelDeltaX/120;v.deltaY=u.wheelDeltaY/120}else{v.deltaX=0;v.deltaY=v.delta}if(r.browser.opera&&r.browser.version<"9.2"){v.delta*=-1}break}v.type="wheel";return r.event.handle.call(this,v,v.delta)}})(f.jQuery);if(d.loadByRequire){(function(){var r=function(){if(document.body){f.jQuery.ready()}else{window.setTimeout(r,10)}};r()})()}var i=d.Utils={},n,c,q=f.jQuery;var g=i.browser=q.extend({},q.browser);g.version=parseFloat(g.version);g.quirksMode=(document.compatMode=="BackCompat");g.ie8standard=(g.msie&&g.version>=8&&document.documentMode>=8);g.webkit=g.safari;(function(){var r=window.navigator.userAgent.toLowerCase();g.chrome=r.indexOf("chrome")!=-1;g.safari=r.indexOf("safari")!=-1&&!g.chrome})();var k=i.support=q.extend({},q.support);var p=i.UNDEF="undefined";var j=i.extend=function(t,r){var s=function(){};s.prototype=r.prototype;s.prototype.constructor=r;return t.prototype=new s};var m=i.bindContext=function(s,r){return function(){return s.apply(r,arguments)}};var o=i.callMethod=function(w,s){w=w instanceof Array?w:[w];var t=Array.prototype.slice.call(arguments,2),u=0,r=w.length,v;for(;u<r;u++){(v=w[u])[s].apply(v,t)}};i.NULL=function(){return null};i.boundaryRestrict=function(t,s,r){if(typeof t==p||typeof s==p||s==null||typeof r==p||r==null){return NaN}return Math.max(Math.min(t,r),s)};i.cycleRestrict=function(t,s,r){if(typeof t==p||typeof s==p||s==null||typeof r==p||r==null){return NaN}if(t==Number.POSITIVE_INFINITY){return r}else{if(t==Number.NEGATIVE_INFINITY){return s}}return t-Math.floor((t-s)/(r-s))*(r-s)};i.normalizeContent=function(r){if(r===""||r===null||typeof r==p||r.nodeType==9){return null}else{if(r.nodeType==3||r.nodeType==1){return new d.DOMLayout(null,null,r)}else{if(typeof r=="object"){return r}else{return new d.TextLayout(null,null,r,0)}}}};i.size=function(u,t,w){if(typeof t==p){var s=q(u);return new f.Size(s.width(),s.height())}else{var v,r;if(t instanceof h){v=t.x;r=t.y}else{v=t;r=typeof w==p?t:w}u.style.width=v+"px";u.style.height=r+"px"}};i.position=function(t,s,r){if(typeof s==p){return new h(t.offsetLeft,t.offsetTop)}if(s instanceof h){var v=s.x,u=s.y}else{var v=s,u=typeof r==p?s:r}t.style.left=v+"px";t.style.top=u+"px"};i.sign=function(s){var r=Number(s);return(r<0?-1:(r>0?1:0))};i.fixIESize=function(s,t,r){s.css(t,s.parent().eq(0)[(t=="top"||t=="bottom")?"height":"width"]()%2?r[0]+"px":r[1]+"px")};i.imagesOnLoad=function(x,v,s){var z=function(B){var A=B.currentTarget||B.srcElement;if(A){q(A).css({visibility:""}).unbind("load error",z);w--;if(v){v(A)}if(w==0&&s){s(r)}}};var y=q("img",x),t,r=y.length,w=0;for(var u=0;u<r;u++){t=y[u];if(!t.complete){q(t).css({visibility:"hidden"}).bind("load error",z);w++}}r=w;if(w==0&&s){window.setTimeout(function(){s(r)},0)}};(function(){var r=0;q.extend(i,{generateId:function(){return"YMaps__id"+(++r)},generateUniqueId:function(){return"YMaps__id"+((new Date()).getTime()+Math.round(Math.random()*10000))},getUniqueId:function(s){if(s===document){return this.documentID}return s.uniqueID||this.setUniqueId(s)},setUniqueId:function(s,t){if(typeof t==p){t=i.generateId()}return(s.uniqueID=t)}})})();(function(){var s=function(){var F=(g.mozilla&&g.version<1.9)||(g.opera&&g.version<9.2),N=[],B,C,w,K,M,y,D;function I(R){if(K&&K!=R){Q()}K=R;if(K){K.setCapture();K.attachEvent("onlosecapture",G)}}function Q(){if(K){K.detachEvent("onlosecapture",G);K.releaseCapture();K=null}}function H(R,S){if(g.msie){K.attachEvent("on"+R,S)}else{document.addEventListener(R,S,1)}}function x(R,S){if(g.msie){K.detachEvent("on"+R,S)}else{document.removeEventListener(R,S,1)}}function O(R){if(R.type=="losecapture"){return 1}else{if(R.type=="mouseout"){if(!R.relatedTarget){return 1}else{return 0}}}return 0}function A(R,S){if(S){if(R.which==3&&!(g.safari&&q.os.name=="mac")){return 1}else{return 0}}else{if(R[g.msie?"button":"which"]==1){return 1}else{return 0}}}function v(){if(g.msie){I(B.getElement())}if(F){q(document).bind("mouseout",G)}H("mousemove",L);H("mouseup",u)}function t(){if(F){q(document).unbind("mouseout",G)}if(M){x("click",z);x("mousedown",E)}else{x("mousemove",L);x("mouseup",u)}if(g.msie){Q()}}function P(R,S){if(!B&&A(S,R.byRightButton())){C=0;M=0;B=R;w=g.mozilla?S.originalEvent.explicitOriginalTarget:S.target;v();S.preventDefault();D=y=S;l.notify(B,"start",S)}}function L(S){var T=q.event.fix(S),R=B.getTremor();d.preventMapEvent(T);T.preventDefault();y=T;if(!C){if(R.offset!=p){if(Math.abs(D.clientX-T.clientX)>R.offset||Math.abs(D.clientY-T.clientY)>R.offset){C=1}}if(R.time!=p){if(T.timeStamp-D.timeStamp>R.time){C=1}}}l.notify(B,"move",T)}function G(R){var S=q.event.fix(R);if(O(S)){J(S)}}function J(S){t();var R=B;B=null;l.notify(R,"stop",S)}function u(R){var S=q.event.fix(R);if(B&&A(S,B.byRightButton())){J(S);if(C){d.preventMapEvent(S);S.preventDefault();if(A(S)&&(g.msie||w==(g.mozilla?R.explicitOriginalTarget:S.target))){M=1;if(g.msie){I(document.body)}H("click",z);H("mousedown",E)}}}}function z(R){var S=q.event.fix(R);S.stopPropagation();S.preventDefault();t()}function E(){t()}this.add=function(R){if(q.inArray(R,N)==-1){var S=R.getMap();N.push(R);if(S){R.listener=f.Events.observe(S,S.Events.MouseDown,function(U,T){P(R,T.getEvent())})}else{q(R.getElement()).bind("mousedown."+R.getId(),function(U){var T=new f.MouseEvent(U,this._map);if(!T.isMapEventPrevented()){P(R,U);T.preventMapEvent()}})}}};this.remove=function(R){var S=q.inArray(R,N);if(S!=-1){if(B==R){J(y)}if(R.listener){R.listener.cleanup()}else{q(R.getElement()).unbind("mousedown."+R.getId())}N.splice(S,1)}};this.abort=function(R){if(B==R){t();B=null;C=0}}},r=new s();i.DragAndDrop={};i.DragAndDrop.MouseMove=function(u,w,t,v){this._element=u;this._byRightButton=w;this._tremor=t||{};this._map=v;this._id=i.generateUniqueId()};i.DragAndDrop.MouseMove.prototype={getElement:function(){return this._element},getId:function(){return this._id},byRightButton:function(){return this._byRightButton},getTremor:function(){return this._tremor},getMap:function(){return this._map},beginListening:function(){r.add(this)},stopListening:function(){r.remove(this)},abort:function(){r.abort(this)}}})();(i.ObjectStorage=function(){this._objects={}}).prototype={add:function(s,r){this._objects[s]=r},get:function(r){return typeof r=="object"&&!(r instanceof String)?r:this._objects[r]},remove:function(s){var r=this.get(s);delete this._objects[s];return r}};var b={copyrights:"Условия использования",metric:{millimetre:"мм",centimetre:"см",metre:"м",kilometre:"км",days:"дн.",day:"д.",hours:"ч.",minutes:"мин.",seconds:"сек."},types:{MAP:"Схема",SATELLITE:"Спутник",HYBRID:"Гибрид"},tremor:{draggingControl:{offset:5,time:300},placemark:{offset:5,time:300}},hints:{miniMap:{show:"Показать обзорную карту",hide:"Скрыть обзорную карту"},ruler:{close:"Удалить путь",sure:"Удалить все отметки? \n\n(для удаления только одной отметки\n дважды щелкните по ней)"},toolBar:{move:"Переместить карту",magnifier:"Увеличить",ruler:"Измерение расстояний на карте"},balloon:{close:"Закрыть"},zoom:[{index:2,value:"мир"},{index:5,value:"страна"},{index:9,value:"город"},{index:13,value:"улица"},{index:16,value:"дом"}],loading:{timeout:"Превышен интервал ожидания ответа от сервера"},searchControl:{mapSearch:"Поиск на карте",find:"Найти",wait:"Идет запрос к серверу...",notFound:"Искомая комбинация на карте не встречается",clear:"Очистить",quantity:[{found:"Найдено",objects:"объекта"},{found:"Найдено",objects:"объектов"},{found:"Найден",objects:"объект"}],correction:"По исходному запросу на карте ничего не найдено. Результаты для",previous:["Предыдущий","Предыдущие"],next:["Следующий","Следующие"]},typeControl:{more:"Ещё"},graphicsEditor:{deleteVertex:"Удалить",startDrawing:"Продолжить",stopDrawing:"Завершить"}}};b.imageRoot="http://api-maps.yandex.ru/i/0.4/";b.images={transparentImage:b.imageRoot+"zero.gif",toolBar:{iconSprite:b.imageRoot+"icons/icon-hand-ruler-zoom.png"}};b.cursors={arrow:{"class":"YMaps-cursor-default",cursor:"default"},crosshair:{"class":"YMaps-cursor-crosshair",cursor:"crosshair"},grab:{"class":"YMaps-cursor-grab",cursor:"url("+b.imageRoot+"cursors/grab.cur) 16 16, url("+b.imageRoot+"cursors/grab.cur), move"},grabbing:{"class":"YMaps-cursor-grabbing",cursor:"url("+b.imageRoot+"cursors/grabbing.cur) 16 16, url("+b.imageRoot+"cursors/grabbing.cur), move"},help:{"class":"YMaps-cursor-help",cursor:"url("+b.imageRoot+"cursors/help.cur), help"},move:{"class":"YMaps-cursor-move",cursor:"move"},pointer:{"class":"YMaps-cursor-pointer",cursor:"pointer"},zoom:{"class":"YMaps-cursor-zoom",cursor:"url("+b.imageRoot+"cursors/zoom_in.cur) 6 6, url("+b.imageRoot+"cursors/zoom_in.cur), crosshair"},inherit:{"class":"YMaps-cursor-inherit",cursor:"inherit"}};f.State={EMPTY:"Empty",LOADING:"Loading",SUCCESS:"Success",FAILURE:"Failure"};f.ZIndex={POLYGON:10,POLYLINE:20,MAP_LAYER:5,LAYER_CONTAINER:1,COMMON_OBJECT_LAYER:50,OVERLAY_SHADOW:100,OVERLAY:110,OVERLAY_HOVER:120,OVERLAY_DRAG:130,EDITOR_GLASS_PANE:150,EDITOR_EDGE_MARKER:160,EDITOR_VERTEX_MARKER:170,BALLOON:200,OVERLAY_ACTIVE:210,CONTROL:1000,POPUP:1001};f.Cursor={ARROW:"arrow",CROSSHAIR:"crosshair",GRAB:"grab",GRABBING:"grabbing",HELP:"help",MOVE:"move",POINTER:"pointer",ZOOM:"zoom",INHERIT:"inherit"};f.TILE_SIZE=256;f.GraphicsEditingMenuIDs={Delete:"Delete",StartDrawing:"StartDrawing",StopDrawing:"StopDrawing"};b.MapDOMEvents=["click","dblclick","contextmenu","mouseup","mousedown","mousemove","wheel"];f.Interactivity={NONE:0,STATIC:-1,INTERACTIVE:1};(function(){var s=b.metric;f.humanDistance=function(B,A){var y=A?t:v,x=y.length-1;for(var z=0,w=x;z<w;z++){if(B<y[z+1][0]){x=z;break}}x=y[x];B=Math.round(B/x[1])*x[1];B=B/x[2];B=Number(B.toFixed(x[3]));return String(B).replace(".",",")+"&#160;"+x[4]};var r=s.metre,u=s.kilometre,v=[[0,1,1,0,r],[0.00005,0.0001,0.001,1,s.millimetre],[0.02,0.001,0.01,1,s.centimetre],[0.2,0.01,1,2,r],[2,0.1,1,1,r],[20,1,1,0,r],[1000,1,1000,3,u],[2000,10,1000,2,u],[7000,100,1000,1,u],[50000,1000,1000,0,u]],t=[[0,1,1,0,r],[10,10,1,0,r],[100,50,1,0,r],[1000,100,1000,1,u],[3000,1000,1000,0,u]];f.humanDuration=function(x){var E=[1,60,3600,86400],C=[60,60,24,0],A=[s.seconds,s.minutes,s.hours,s.days],D=[0,0,0,0],z=[];for(var y=3,w,B=x;B&&y>=0;y--){w=Math.floor(x/E[y]);B=x%E[y];if(w>=20){w+=B/E[y]>=0.5?1:0;B=0}if(w==C[y]&&C[y]){D[y+1]++}else{D[y]=w}x=B}for(var y=0;y<=3;y++){if(D[y]){if((D[y]==1)&&(y==3)){A[y]=s.day}z.unshift(D[y]+"&#160;"+A[y])}}if(!z.length){z.unshift("0&#160;"+A[0])}return z.join("&#160;")}})();d.MathLib={ortho:function(x,v){var G=[],I=1e-8,L=180/Math.PI,H=x.isUnbounded()&&v.isUnbounded(),w=function(U,T){return e.getCoordPoint(U*L,T*L,H)},P=x.getX()/L,A=x.getY()/L,O=(v.isUnbounded()?v.getX():i.cycleRestrict(v.getX(),x.getX()-180,x.getX()+180))/L,y=v.getY()/L,F=O-P,s=Math.round(Math.abs(F)/Math.PI),E=Math.sin(F),S=50;if(Math.abs(E)>I){var C=Math.sin(A),u=Math.cos(A),B=Math.sin(y),t=Math.cos(y),K=Math.ceil(S*(2*Math.floor(s/2)*Math.PI+Math.acos(C*B+u*t*Math.cos(F)))),Q=F/K;for(var N=0;N<K+1;N++){var z=P+Q*N,D=-Math.atan((C*t*Math.sin(z-O)-B*u*Math.sin(z-P))/(u*t*E));G.push(w(z,D))}}else{var r=Math.cos(F)>0?i.sign(y-A):i.sign(A+y),J=i.sign(F),R=function(V,U,T){return[w(V,U),w(V,T)]};if(Math.abs(r)<I){r=1}if(!s){G=R(P,A,y)}else{var M=r*Math.PI/2;G=R(P,A,M);for(var N=1;N<s;N++){G.push(w(P+Math.PI*(N-0.5)*J,M));q.merge(G,R(P+Math.PI*N*J,M,-M));M=-M}G.push(w(O-Math.PI*0.5*J,M));q.merge(G,R(O,M,y))}}return G},intervalsIntersect:function(w,v,u,s){if(v<w){var r=w;w=v;v=r}if(s<u){var r=u;u=s;s=r}if(w>s||u>v){return 0}return 1},sectorsIntersect:function(u,s,t,r){u=i.cycleRestrict(u,0,360);s=i.cycleRestrict(s,u,u+360);t=i.cycleRestrict(t,s,s-360);r=i.cycleRestrict(r,t,t+360);return d.MathLib.intervalsIntersect(u,s,t,r)}};var h=f.Point=function(r,s){this.x=(typeof r=="number"?r:Number(r))||0;this.y=typeof s==p?this.x:(typeof s=="number"?s:Number(s))||0};h.fromString=function(r){r=r.split(",");return new h(r[0],r[1])};h.prototype={getX:function(){return this.x},getY:function(){return this.y},setX:function(r){this.x=r;return this},setY:function(r){this.y=r;return this},toString:function(r){if(typeof r!=p&&!isNaN(parseInt(r))){return Number(this.x.toFixed(r))+","+Number(this.y.toFixed(r))}return this.x+","+this.y},copy:function(){return new this.constructor(this.x,this.y)},moveToX:function(r){this.x=r;return this},moveToY:function(r){this.y=r;return this},moveTo:function(r){this.x=r.x;this.y=r.y;return this},moveByX:function(r){this.x+=r;return this},moveByY:function(r){this.y+=r;return this},moveBy:function(r){this.x+=r.x;this.y+=r.y;return this},diff:function(r){return new this.constructor(r.x-this.x,r.y-this.y)},equals:function(r){return((this.x==r.x)&&(this.y==r.y))},scale:function(s){var r=typeof s.x!=p&&typeof s.y!=p;this.x*=r?s.x:s;this.y*=r?s.y:s;return this},scaleX:function(r){this.x*=r;return this},scaleY:function(r){this.y*=r;return this},apply:function(r){this.x=r(this.x);this.y=r(this.y);return this},applyX:function(r){this.x=r(this.x);return this},applyY:function(r){this.y=r(this.y);return this},neg:function(){return new this.constructor(-this.x,-this.y)},distance:function(r){var s=this.diff(r);return Math.sqrt((s.x*s.x)+(s.y*s.y))},length:function(){return Math.sqrt((this.x*this.x)+(this.y*this.y))},angle:function(){return Math.acos(this.x/this.length())}};h.prototype.constructor=h;f.Size=h;f.GeoPoint=function(r,s,t){this._unbounded=t||0;this.setX((typeof r=="number"?r:Number(r))||0);this.setY((typeof s=="number"?s:Number(s))||0)};c=f.GeoPoint.prototype;f.GeoPoint.fromString=function(r){r=r.split(",");return new f.GeoPoint(r[0],r[1])};c.toString=function(r){r=typeof r!=p?r:6;return Number(this.getX().toFixed(r))+","+Number(this.getY().toFixed(r))};c.isUnbounded=function(){return this._unbounded};c.setLng=function(r){this.__lng=this._unbounded?r:i.cycleRestrict(r,-180,180);return this};c.setX=c.setLng;c.getLng=function(){return this.__lng};c.getX=c.getLng;c.setLat=function(r){this.__lat=this._unbounded?r:i.boundaryRestrict(r,-90,90);return this};c.setY=c.setLat;c.getLat=function(){return this.__lat};c.getY=c.getLat;c.moveTo=function(r){this.setX(r.getX());this.setY(r.getY());return this};c.copy=function(){return new f.GeoPoint(this.getX(),this.getY(),this._unbounded)};c.diff=function(s){var t=s.getX()-this.getX();if(!s._unbounded){var r=Math.round(t/360);if(r){t-=r*360}}return new h(t,s.getY()-this.getY())};c.moveBy=function(r){this.setX(this.getX()+r.getX());this.setY(this.getY()+r.getY());return this};c.distance=function(r){return e.distance(this,r)};c.equals=function(r){return(Math.abs(r.getX()-this.getX())<2e-7&&Math.abs(r.getY()-this.getY())<2e-7&&r.isUnbounded()==this.isUnbounded())};n=f.Bounds=function(r,s){this._left=r.x;this._right=s.x;this._top=s.y;this._bottom=r.y};n.prototype={_getResultPoint:function(r,s){return new h(r,s)},_getDirection:function(r){return this.getLeftBottom().diff(r||this.getRightTop())},getTop:function(){return this._top},getRight:function(){return this._right},getBottom:function(){return this._bottom},getLeft:function(){return this._left},equals:function(r){return this.getLeftBottom().equals(r.getLeftBottom())&&this.getRightTop().equals(r.getRightTop())},getLeftTop:function(){return this._getResultPoint(this._left,this._top)},getRightTop:function(){return this._getResultPoint(this._right,this._top)},getRightBottom:function(){return this._getResultPoint(this._right,this._bottom)},getLeftBottom:function(){return this._getResultPoint(this._left,this._bottom)},getCenter:function(){return this._getResultPoint((this._left+this._right)/2,(this._top+this._bottom)/2)},getSpan:function(){return this._getDirection().apply(Math.abs)},contains:function(r){var t=this._getDirection(),s=this._getDirection(r);return(s.getX()>=Math.min(0,t.getX())&&s.getX()<=Math.max(0,t.getX())&&s.getY()>=Math.min(0,t.getY())&&s.getY()<=Math.max(0,t.getY()))},copy:function(){return new this.constructor(this.getLeftBottom(),this.getRightTop())},getMapZoom:function(x){var s=0,v=x.coordSystem,r=v.getCoordPoint(this._left,this._bottom,1),u=r.copy().moveBy(this._getDirection()),w=v.fromCoordPoint(r).diff(v.fromCoordPoint(u)).apply(Math.abs),t=x._state.size.x,y=w.x;if(y/t<w.y/x._state.size.y){y=w.y;t=x._state.size.y}while(y>t){y=Math.floor(y/2);s++}return Math.max(v.getMaxZoom()-s,0)},intersects:function(r){return(d.MathLib.intervalsIntersect(this.getLeft(),this.getRight(),r.getLeft(),r.getRight())&&d.MathLib.intervalsIntersect(this.getBottom(),this.getTop(),r.getBottom(),r.getTop()))}};n=f.GeoBounds=function(s,r){this._left=s.getX();this._right=r.getX();this._top=r.getY();this._bottom=s.getY();this._isResultUnbounded=s.isUnbounded()&&r.isUnbounded()};c=j(n,f.Bounds);n.fromCenterAndSpan=function(t,J){var x=e._radius,y=Math.PI,B=e._epsilon,v=Math.min(Math.max(t.getY()*y/180,-y/2+B),y/2-B),H=Math.max(Math.min(J.y,180),0),z=H*y/180,A=x*Math.log(Math.tan(v/2+y/4)),u=Math.exp(2*A/x),I=1,G=(u+1)*Math.tan(Math.min(Math.max(z/2,-y/2+B),y/2-B)),E=-u,s=Math.max(G*G-4*I*E,0),F=(-G+Math.sqrt(s))/2*I,w=((Math.atan(F)-y/4)*2)*180/y,r=t.isUnbounded()?J.x/2:Math.min(J.x/2,180-B);return new f.GeoBounds(new f.GeoPoint(t.getX()-r,w,t.isUnbounded()),new f.GeoPoint(t.getX()+r,w+H,t.isUnbounded()))};c._getResultPoint=function(r,s){return new f.GeoPoint(r,s,this._isResultUnbounded)};c._getDirection=function(s){s=s||this.getRightTop();var u=1e-10,r=s.isUnbounded()?s.getX()-this._left:i.cycleRestrict(s.getX()-this._left,-u,360-u),t=s.getY()-this._bottom;return new h(r,t)};c.getCenter=function(){var s=e.getCoordPoint(this._left,this._bottom,1),u=s.copy().moveBy(this._getDirection()),t=e.fromCoordPoint(s).moveBy(e.fromCoordPoint(u)).scale(0.5),r=e.toCoordPoint(t,1);return this._getResultPoint(r.getX(),r.getY())};c.intersects=function(r){return(d.MathLib.intervalsIntersect(this.getBottom(),this.getTop(),r.getBottom(),r.getTop())&&(this._isResultUnbounded?d.MathLib.intervalsIntersect(this.getLeft(),this.getRight(),r.getLeft(),r.getRight()):d.MathLib.sectorsIntersect(this.getLeft(),this.getRight(),r.getLeft(),r.getRight())))};n=f.CollectionBounds=function(r){var s=new h();f.Bounds.call(this,s,s);this._empty=1;if(r){this.add(r)}};c=j(n,f.Bounds);c.add=function(r){if(r instanceof Array){var s=this;q.each(r,function(){s.add(this)});return}if(this._empty){this._left=this._right=r.x;this._top=this._bottom=r.y;this._empty=0}else{if(r.x>this._right){this._right=r.x}else{if(r.x<this._left){this._left=r.x}}if(r.y<this._bottom){this._bottom=r.y}else{if(r.y>this._top){this._top=r.y}}}};c.clear=function(){this._left=this._top=this._right=this._bottom=0};n=f.GeoCollectionBounds=function(r){var s=new f.GeoPoint(0,0);f.GeoBounds.call(this,s,s);this._empty=1;this._lngs=[];if(r){this.add(r)}};c=j(n,f.GeoBounds);c.clear=function(){this._left=this._top=this._right=this._bottom=0;this._lngs=[]};c._insert=function(s){var r=i.cycleRestrict(s.getX(),-180,180),t=s.getY();if(this._empty){this._left=this._right=r;this._top=this._bottom=t;this._empty=0}if(this._top<t){this._top=t}else{if(this._bottom>t){this._bottom=t}}return r};c.add=function(s){if(s instanceof Array){var v=this;q.each(s,function(){v._lngs.push(v._insert(this))})}else{this._lngs.push(this._insert(s))}this._lngs.sort(function(x,w){return x-w});var r=0,u=this._lngs.length;if(u>0&&this._lngs[u-1]-this._lngs[0]>180){for(var t=0;t<u-1;t++){if(this._lngs[t+1]-this._lngs[t]>this._lngs[r+1]-this._lngs[r]){r=t}}if(this._lngs[0]+360-this._lngs[u-1]>this._lngs[r+1]-this._lngs[r]){this._left=this._lngs[0];this._right=this._lngs[u-1]}else{this._left=this._lngs[r+1];this._right=this._lngs[r]}}else{this._left=this._lngs[0];this._right=this._lngs[u-1]}};n=f.GeoCoordSystem=function(r,s){this._radius=r||6378137;if(r){this._equator=2*Math.PI*r}else{this._equator=40075016.68557849}this._e=0.0818191908426;this._e2=0.00669437999014;this._epsilon=1e-10;this._maxZoom=s||23;this._worldSize=Math.pow(2,this._maxZoom+8);this._a=this._worldSize/this._equator;this._b=this._equator/2;this._latRestriction=89.3};c=n.prototype;c.getCoordPoint=function(r,t,s){return new f.GeoPoint(r,t,s)};c.getCoordBounds=function(r,s){return new f.GeoBounds(r,s)};c.getWorldSize=function(){return new f.Point(this._worldSize,this._worldSize)};c.getMaxZoom=function(){return this._maxZoom};c.fromCoordPoint=function(s,t){if(s.isUnbounded()||!t){return this._mercatorToPixels(this._geoToMercator(s))}else{var r=t.getX();return this._mercatorToPixels(this._geoToMercator(this.getCoordPoint(i.cycleRestrict(s.getX(),r-180,r+180),s.getY(),1)))}};c.toCoordPoint=function(r,s){return this._mercatorToGeo(this._pixelsToMercator(r),s)};c.restrict=function(r){return r.copy().setY(i.boundaryRestrict(r.getY(),-this._latRestriction,this._latRestriction))};c.distance=function(A,z){var B=Math.PI/180,x=A.getX()*B,v=A.getY()*B,w=z.getX()*B,u=z.getY()*B,y=0;if(!(Math.abs(u-v)<this._epsilon&&Math.abs(x-w)<this._epsilon)){var C=Math.cos((v+u)/2),t=this._radius*Math.sqrt((1-this._e2)/(1-this._e2*C*C));y=t*Math.acos(Math.sin(v)*Math.sin(u)+Math.cos(v)*Math.cos(u)*Math.cos(w-x))}return y};c.rulerDistance=function(B,A){var x=B.getX(),u=B.getY(),w=A.getX(),s=A.getY(),y=0;if(!(Math.abs(s-u)<this._epsilon&&Math.abs(x-w)<this._epsilon)){var r=(u+(s-u)/2)*Math.PI/180,z=Math.atan(((w*60-x*60)/(s*60-u*60))*Math.cos(r)),t=this._radius,v=2*Math.PI*t/360;y=Math.abs(s-u)<this._epsilon?Math.abs(((w-x)/Math.sin(z))*Math.cos(r)*v):Math.abs(v*(s-u)/Math.cos(z))}return y};c._mercatorToGeo=function(s,w){var y=Math.PI,t=y/2,x=this._radius,C=0.003356551468879694,z=0.00000657187271079536,v=1.764564338702e-8,B=5.328478445e-11;var u=t-2*Math.atan(1/Math.exp(s.y/x));var A=u+C*Math.sin(2*u)+z*Math.sin(4*u)+v*Math.sin(6*u)+B*Math.sin(8*u);var r=s.x/x;return new f.GeoPoint(r*180/Math.PI,A*180/Math.PI,w)};c._geoToMercator=function(t){var r=t.getX()*Math.PI/180,z=i.boundaryRestrict(t.getY(),-90,90)*Math.PI/180,y=this._radius,x=this._e,s=x*Math.sin(z);var u=Math.tan(Math.PI/4+z/2)||this._epsilon,w=Math.pow(Math.tan(Math.PI/4+Math.asin(s)/2),x),v=u/w;return new h(y*r,y*Math.log(v))};c._mercatorToPixels=function(r){return new h(Math.round((this._b+r.x)*this._a),Math.round((this._b-r.y)*this._a))};c._pixelsToMercator=function(r){return new h(r.x/this._a-this._b,this._b-r.y/this._a)};var e=new f.GeoCoordSystem();n=f.CartesianCoordSystem=function(r,t,u,s){this._left=r.x;this._right=t.x;this._bottom=r.y;this._top=t.y;this._xRange=this._right-this._left;this._yRange=this._top-this._bottom;this._scale=u||1;this._maxZoom=s||23;this._worldSize=Math.pow(2,this._maxZoom+8);this._bitsPerTile=Math.round(Math.log(f.TILE_SIZE)/Math.log(2));this._pixelMask=(1<<this._bitsPerTile)-1};c=n.prototype;c.getCoordPoint=function(r,t,s){return new h(r,t)};c.getCoordBounds=function(r,s){return new f.Bounds(r,s)};c.fromCoordPoint=function(r){return new h(Math.round(((r.getX()-this._left)/this._xRange)*(this._worldSize-1)),Math.round((1-(r.getY()-this._bottom)/this._yRange)*(this._worldSize-1)))};c.toCoordPoint=function(r){return new h(this._left+(r.getX()/(this._worldSize-1))*this._xRange,this._bottom+(1-r.getY()/(this._worldSize-1))*this._yRange)};c.distance=function(t,s){var r=t.diff(s).scale(this._scale);return Math.sqrt(r.x*r.x+r.y*r.y)};c.rulerDistance=c.distance;c.restrict=function(r){return new h(i.boundaryRestrict(r.getX(),Math.min(this._left,this._right),Math.max(this._left,this._right)),i.boundaryRestrict(r.getY(),Math.min(this._bottom,this._top),Math.max(this._bottom,this._top)))};c.getWorldSize=function(){return new f.Point(this._worldSize,this._worldSize)};c.getMaxZoom=function(){return this._maxZoom};n=f.MouseEvent=function(s,r){this._event=q.event.fix(s);this._map=r};c=n.prototype={getCoordPoint:function(r){if(!this._point){this._point=this._map.converter.localPixelsToCoordinates(this.getLocalPixels(),1)}if(r){return this._point.copy()}else{return this._map.coordSystem.getCoordPoint(this._point.getX(),this._point.getY())}},getLocalPixels:function(){if(!this._posInPixels){this._posInPixels=this._map.converter.clientPixelsToLocalPixels(new h(this._event.clientX,this._event.clientY))}return this._posInPixels},getEvent:function(){return this._event}};c.getGeoPoint=c.getCoordPoint;(function(){var s=0,y,t,r,x,w;function u(A){var z=A.originalEvent;if(!g.msie){if(z!=t){t=z;s=0}}else{if(r!=A.type||(r=="mousemove"&&(A.clientX!=x||A.clientY!=w))){r=A.type;if(r=="mousemove"){x=A.clientX;w=A.clientY}s=0}}}function v(z){if(g.msie){if(!y){y=window.setTimeout(function(){s=0;y=null},0)}}u(z)}d.preventMapEvent=function(z){v(z);s=1};d.isMapEventPrevented=function(z){u(z);return s};c.preventMapEvent=function(){d.preventMapEvent(this._event)};c.isMapEventPrevented=function(){return d.isMapEventPrevented(this._event)}})();n=f.Group=function(){this._objects=[]};c=n.prototype;c.Events={Add:"Add",Remove:"Remove"};c.add=function(s,r){if(typeof s!=p){r=typeof r!=p?this._normalizeIndex(r):this.length();if(s instanceof Array){q.each(s,m(function(t,u){this._add(u,r+t)},this))}else{this._add(s,r)}}};c._add=function(s,r){this._objects.splice(r,0,s);l.notify(this,this.Events.Add,this,s,r)};c.splice=function(r,t){r=this._normalizeIndex(r);var u=[];for(var s=0;s<t;s++){if(r<this._objects.length){u=u.concat(this._removeByIndex(r))}else{break}}q.each(Array.prototype.slice.call(arguments,2),m(function(v,w){this._add(w,r+v)},this));return u};c._normalizeIndex=function(r){r=Math.min(r,this.length());return r<0?Math.max(0,r+this.length()):r};c.remove=function(s){if(s instanceof Array){var r=[];q.each(s,m(function(t,u){r=r.concat(this._removeObject(u))},this));return r}else{return this._removeObject(s)}};c._removeObject=function(s){var r=this.indexOf(s);return r!=-1?this._removeByIndex(r):[]};c._removeByIndex=function(s){var r=this._objects.splice(s,1);l.notify(this,this.Events.Remove,this,r[0],s);return r};c.removeAll=function(){while(this._objects.length){this._removeByIndex(0)}};c.get=function(s){var r=this._objects.length;return s<0&&(s=r+s)<0||r<=s?null:this._objects[s]};c.indexOf=function(r){return q.inArray(r,this._objects)};c.length=function(){return this._objects.length};c.forEach=function(s,r){var t=this;q.each(this._objects,function(u){s.call(r,this,u,t)})};c.filter=function(u,s,t){var r=[];this.__filter(r,this,u,s,t);return r};c.__filter=function(u,w,y,t,v){for(var s=0,r=w.length(),x;s<r;s++){if(y.call(t,x=w.get(s))){u.push(x)}if(!v&&x instanceof f.Group){this.__filter(u,x,y,t)}}};n=f.AGeoObject=function(){this.id=null;this.name=null;this.description=null;this.metaDataProperty={};this._boundedBy=null;this._parentGroup=null;this._style=null;this._computedStyle=null};n.fullStyle={parentStyle:null,hasHint:false,hasBalloon:true,iconStyle:{href:b.imageRoot+"micro/pmlbs.png",size:new h(28,29),offset:new h(-7,-28),shadow:null,template:"default#icon"},iconContentStyle:{template:"default#iconContent"},hintStyle:{template:"default#hint"},hintContentStyle:{template:"default#hintContent"},balloonStyle:{template:"default#balloon"},balloonContentStyle:{template:"default#balloonContent"},lineStyle:{strokeColor:"ff0000",strokeWidth:1},polygonStyle:{strokeColor:"ff0000",strokeWidth:1,fillColor:"ff0000",fill:1,outline:1}};n.shadowStyle={template:"default#iconShadow",href:null,offset:new h(),size:new h()};c=n.prototype;c.onAddToGroup=function(r){this._parentGroup=r;this.update()};c.onRemoveFromGroup=function(){this._parentGroup=null;this.update()};c.getParentGroup=function(){return this._parentGroup};c.setStyle=function(r){this._style=r;this.update()};c.getStyle=function(){return this._style};c.getComputedStyle=function(){if(!this._computedStyle){var s=this,v,r=f.Style,u=f.Styles;while(!v&&s){v=s.getStyle();s=s.getParentGroup()}this._computedStyle=r.copy(u.get(v)||u.get(u.DefaultStyleKey));var t=this._computedStyle.parentStyle;while(t){if(t=u.get(t)){r.extendStyle(this._computedStyle,t,0);t=t.parentStyle}}var w=this.getParentGroup();r.extendStyle(this._computedStyle,w?w.getComputedStyle():f.AGeoObject.fullStyle,1);var x=this._computedStyle.iconStyle.shadow;if(x){r.extendStyle(x,f.AGeoObject.shadowStyle,1)}else{if(x==p){this._computedStyle.iconStyle.shadow=null}}}return this._computedStyle};c.update=function(){this._computedStyle=null};c.setBounds=function(r){this._boundedBy=r};c.getBounds=function(){return this._boundedBy};n=f.AInteractiveGeoObject=function(r){f.AGeoObject.call(this);r=r||{};this._style=r.style;this._hintOptions=q.extend({},r.hintOptions);this._hasHint=r.hasHint;this._hintContent=null;this._hintCustomContent=null;this._hintCustomContentLayout=null;this._balloonOptions=q.extend({},r.balloonOptions);this._hasBalloon=r.hasBalloon;this._balloonContent=null;this._balloonCustomContent=null;this._balloonCustomContentLayout=null};c=j(n,f.AGeoObject);c.setOptions=function(s,u){s=s||{};var r=u?{hintOptions:{},balloonOptions:{},style:f.Styles.get(f.Styles.DefaultStyleKey),hasHint:undefined,hasBalloon:undefined}:{style:this.getStyle(),hasHint:this._hasHint,hasBalloon:this._hasBalloon,hintOptions:this.getHintOptions(),balloonOptions:this.getBalloonOptions()};for(var t in s){r[t]=s[t]}this._hasHint=r.hasHint;this._hasBalloon=r.hasBalloon;this.setHintOptions(r.hintOptions,1);this.setBalloonOptions(r.balloonOptions,1);this.setStyle(r.style)};c.getOptions=function(){return{style:this.getStyle(),hasHint:typeof this._hasHint==p?this.getComputedStyle().hasHint:this._hasHint,hasBalloon:typeof this._hasBalloon==p?this.getComputedStyle().hasBalloon:this._hasBalloon,hintOptions:this.getHintOptions(),balloonOptions:this.getBalloonOptions()}};c.update=function(){f.AGeoObject.prototype.update.call(this);this._hintContent=this._balloonContent=null};c.setHintContent=function(r){this._hintCustomContent=r;this._hintCustomContentLayout=i.normalizeContent(r);this._hintContent=null};c.getHintContent=function(){return this._hintCustomContent};c._getHintContentLayout=function(){if(!this._hintContent){if(this._hintCustomContentLayout){this._hintContent=this._hintCustomContentLayout}else{var r=f.Templates.get(this.getComputedStyle().hintContentStyle.template);if(!r){r=f.Templates.get(f.AGeoObject.fullStyle.hintContentStyle.template)}this._hintContent=r.build(this)}}return this._hintContent};c.setHintOptions=function(r,s){this._hintOptions=s?r:q.extend(this._hintOptions,r)};c.getHintOptions=function(){return this._hintOptions||{}};c._getComputedHintOptions=function(){var r=this.getHintOptions();if(!r.style){r=q.extend({},r,{style:this.getComputedStyle().hintStyle})}r.layoutContext=this;return r};c.openBalloon=function(s,r){if(typeof s!=p){this.setBalloonContent(s)}if(r){this.setBalloonOptions(r)}};c.closeBalloon=function(){};c.setBalloonOptions=function(r,s){this._balloonOptions=s?r:q.extend(this._balloonOptions,r)};c.getBalloonOptions=function(){return this._balloonOptions||{}};c._getComputedBalloonOptions=function(){var r=this.getBalloonOptions();if(!r.style){r=q.extend({},r,{style:this.getComputedStyle().balloonStyle})}r.layoutContext=this;return r};c.setBalloonContent=function(r){this._balloonCustomContent=r;this._balloonCustomContentLayout=i.normalizeContent(r);this._balloonContent=null};c.getBalloonContent=function(){return this._balloonCustomContent};c._getBalloonContentLayout=function(){if(!this._balloonContent){if(this._balloonCustomContentLayout){this._balloonContent=this._balloonCustomContentLayout}else{var r=f.Templates.get(this.getComputedStyle().balloonContentStyle.template);if(!r){r=f.Templates.get(f.AGeoObject.fullStyle.balloonContentStyle.template)}this._balloonContent=r.build(this)}}return this._balloonContent};d.TileCoordinates=function(r){var y=r.coordSystem,u=Math.round(Math.log(f.TILE_SIZE)/Math.log(2)),v=(1<<u)-1,z=y.getMaxZoom(),s=y.getWorldSize(),x=new f.Point(s.getX()/2,s.getY()/2),A=y.toCoordPoint(x),C=y.toCoordPoint(x.copy().moveBy(s),1),B=y.fromCoordPoint(A,C).diff(x),t=!!B.getX(),w=!!B.getY();this.fromPixels=function(J,L,K){var I=u,F=v,M={number:null,offset:null},E=z-L,H=t?i.cycleRestrict(J.getX(),0,s.getX()):J.getX(),G=w?i.cycleRestrict(J.getY(),0,s.getY()):J.getY();if(K){I=Math.round(Math.log(K)/Math.log(2));F=(1<<I)-1}if(H>=0&&H<s.getX()&&G>=0&&G<s.getY()){var D=E+I;M.number=new h(H>>D,G>>D)}M.offset=new h((H>>E)&F,(G>>E)&F);return M};this.toPixels=function(G,I,F,H){var E=z-F,D=E+(H?Math.round(Math.log(H)/Math.log(2)):u);return new f.Point((G.x<<D)+(I.x<<E),(G.y<<D)+(I.y<<E))};this.scale=function(D,H,E){var G=typeof E===p?r.getZoom():Number(H),F=(typeof H===p||H===null)?y.getMaxZoom():Number(E);return D.copy().scale(Math.pow(2,F-G))}};d.Converter=function(t){var s=t._state,r=t.coordSystem;this.localPixelsToCoordinates=function(x,w){var v=s.centerInPixels.diff(x),u=t.tileCoordinates.scale(v);u.moveBy(s.centerInTiles);return r.toCoordPoint(u,w)};this.coordinatesToLocalPixels=function(w,v){var x=v?w:t.coordSystem.restrict(w),u=r.fromCoordPoint(x,t.getCenter(1));return t.tileCoordinates.scale(s.centerInTiles.diff(u),r.getMaxZoom(),t.getZoom()).moveBy(s.centerInPixels)};this.clientPixelsToCoordinates=function(u,v){return this.localPixelsToCoordinates(this.clientPixelsToLocalPixels(u),v)};this.coordinatesToClientPixels=function(v,u){return this.localPixelsToClientPixels(this.coordinatesToLocalPixels(v,u))};this.clientPixelsToLocalPixels=function(u){return s.getDomOffset().diff(u).moveBy(new h(q(window).scrollLeft(),q(window).scrollTop()))};this.localPixelsToClientPixels=function(u){return new h(q(window).scrollLeft(),q(window).scrollTop()).diff(u.copy().moveBy(s.getDomOffset()))};this.coordinatesToMapPixels=function(v,u){return this.localPixelsToMapPixels(this.coordinatesToLocalPixels(v,u))};this.mapPixelsToCoordinates=function(u,v){return this.localPixelsToCoordinates(this.mapPixelsToLocalPixels(u),v)};this.mapPixelsToLocalPixels=function(u){return u.copy().moveBy(s.offset)};this.localPixelsToMapPixels=function(u){return s.offset.diff(u)}};var l=(function(){function r(v,u){var w=u;if(!u||typeof u=="object"){w=i.getUniqueId(u||f)}return v+"_"+w}var t=new function(){var w={},v={};this.addObserver=function(y){var B=y.id;(w[B]||(w[B]=[])).push(y);var A=v[B];if(A){for(var z=0,x=A.length;z<x;z++){u(y,A[z])}}};function u(x,y){x.listener.apply(x.context,y)}this.removeObserver=function(x){var z=w[x.id],y;if(z&&((y=q.inArray(x,z))!=-1)){z.splice(y,1);if(z.length==0){delete w[x.id]}}};this.notify=function(C,G,B,A){var y=r(G,C),E=w[y];if(E){var D=0,F,x=E.slice(),z=x.length;for(;D<z;D++){if((F=x[D]).added){u(F,B)}}}if(A){(v[y]||(v[y]=[])).push(B)}}};var s=function(w,x,v,y,u){this.id=r(w,v);this.listener=x;this.context=u;this.added=0;if(y){this.enable()}};s.prototype={enable:function(){if(!this.added){t.addObserver(this);this.added=1}},disable:function(){if(this.added){t.removeObserver(this);this.added=0}},cleanup:function(){this.disable();this.context=this.listener=null}};return f.Events=new function(){this.observe=function(w,z,A,y,v){v=typeof v!=p?v:1;if(z instanceof Array){var B=[],x=0,u=z.length;for(;x<u;x++){B[x]=new s(z[x],A,w,v,y||w)}return B}else{return new s(z,A,w,v,y||w)}};this.notify=function(u,v){t.notify(u,v,Array.prototype.slice.call(arguments,2))};this.notifyPermanent=function(u,v){t.notify(u,v,Array.prototype.slice.call(arguments,2),1)}}})();n=f.OverlayGroup=function(){f.Group.call(this);this._map=this._parentContainer=null;this.__listeners=[l.observe(this,this.Events.Add,function(t,s,r){this._onAddObject(s,r)},this),l.observe(this,this.Events.Remove,function(t,s,r){this._onRemoveObject(s,r)},this)]};c=j(n,f.Group);c.getMap=function(){return this._map};c.getParentContainer=function(){return this._parentContainer};c.onAddToMap=function(r,s){this._map=r;this._parentContainer=s;this.forEach(this.__addObjectToMap,this)};c._onAddObject=function(r){this.__addObjectToMap(r)};c.__addObjectToMap=function(r){if(this._map){r.onAddToMap(this._map,this._parentContainer)}};c.onRemoveFromMap=function(){this.forEach(this.__removeObjectFromMap,this);this._map=this._parentContainer=null};c._onRemoveObject=function(r){this.__removeObjectFromMap(r)};c.__removeObjectFromMap=function(r){if(this._map){r.onRemoveFromMap()}};c.onMapUpdate=function(){o(this._objects.slice(),"onMapUpdate")};n=d.ALayer=function(r){this._options=q.extend({},d.ALayer.fullOptions,r);this._$element=q('<div class="YMaps-layer" style="z-index: '+this._options.zIndex+';"></div>')};n.fullOptions={zIndex:f.ZIndex.MAP_LAYER};c=d.ALayer.prototype;c.onAddToMap=function(r,s){this._map=r;this._$element.appendTo(s);i.position(this._$element[0],this._map._state.offset)};c.onRemoveFromMap=function(){this._$element.removeFromDom();this._map=null};c.onMapUpdate=function(){i.position(this._$element[0],this._map._state.offset)};c.update=function(){if(this._map){this.onMapUpdate()}};c.getMap=function(){return this._map};c.getContainer=function(){return this._$element[0]};c.onMove=function(r,s){i.position(this._$element[0],r)};c.onSmoothZoomStart=function(){this._$element.addClass("YMaps-display-none")};c.onSmoothZoomTick=i.NULL;c.onSmoothZoomEnd=function(){this._$element.removeClass("YMaps-display-none")};c.getCopyright=function(s,r){return""};c.setOptions=function(r,t){var s=q.extend({},t?d.ALayer.fullOptions:this._options,r);if(s.zIndex!=this._options.zIndex){this._$element.css("z-index",s.zIndex)}this._options=s};c.getOptions=function(){return this._options};n=f.Layer=function(s,r){d.ALayer.call(this,r);this._dataSource=s};c=j(n,d.ALayer);c.getTileDataSource=function(){return this._dataSource};c.onAddToMap=function(s,t){d.ALayer.prototype.onAddToMap.call(this,s,t);var r=this._master;if(!r){this._master=r=new d.TileContainer(this.getMap(),this.getContainer(),this._dataSource);r.setZIndex(6)}r.setVisible(1);r.update();if(this._slave){this._slave.setVisible(0)}q(this.getContainer()).bind("mousedown.l selectstart.l dragstart.l",function(u){u.preventDefault()})};c.onRemoveFromMap=function(){this._master.onRemoveFromMap();if(this._slave){this._slave.onRemoveFromMap()}q(this.getContainer()).unbind("mousedown.l selectstart.l dragstart.l");d.ALayer.prototype.onRemoveFromMap.call(this)};c.onMove=function(r,s){d.ALayer.prototype.onMove.call(this,r,s);if(g.opera){var t=this;window.setTimeout(function(){t._master.onMove(s)},0)}else{this._master.onMove(s)}};c.onMapUpdate=function(){d.ALayer.prototype.onMapUpdate.call(this);if(this._slave&&!this._afterSmoothZoom){this._slave.setVisible(0)}this._master.update();this._afterSmoothZoom=0};c.getTileInPosition=function(r){return this._master?this._master.getTileInPosition(r):null};if(g.opera&&g.version<9.5){c.onSmoothZoomStart=c.onSmoothZoomTick=c.onSmoothZoomEnd=i.NULL}else{c.onSmoothZoomStart=function(){if(!this._dataSource.smoothZoomEnabled()){this._master.setVisible(0);return}if(this._slave){this._slave.setVisible(0)}this._mapCenterShift=this._notCenteredPosition=null;this._centerShiftSum=new h()};c.onSmoothZoomTick=function(y){if(!this._dataSource.smoothZoomEnabled()){return}var u=y.saveThisPosition,r=y.centeringShiftPart,w;if(u){w=this._master.getSize()}this._master.scale(y.scaleCoefficient);if(u){var t=this._master.getSize(),v=this.getMap().converter.coordinatesToMapPixels(u),x=v.diff(this._notCenteredPosition||(this._notCenteredPosition=this._master.getPosition()));x.x=Math.round(x.x*(t.x/w.x));x.y=Math.round(x.y*(t.y/w.y));this._notCenteredPosition=v.moveBy(x).copy();if(r){if(this._mapCenterShift===null){this._mapCenterShift=this.getMap()._state.centerInPixels.diff(this.getMap().converter.coordinatesToLocalPixels(u))}var s=new h(Math.round(this._mapCenterShift.x*r),Math.round(this._mapCenterShift.y*r));this._centerShiftSum.moveBy(s);this._mapCenterShift=s.diff(this._mapCenterShift);v.moveBy(this._centerShiftSum.neg())}this._master.setPosition(v)}};c.onSmoothZoomEnd=function(){if(!this._dataSource.smoothZoomEnabled()){this._master.setVisible(1);return}var s=this._master,r=this._slave||new d.TileContainer(this.getMap(),this.getContainer(),this._dataSource);s.setPosition(s.getPosition().moveBy(this.getMap()._state.offset));s.setZIndex(5);r.setZIndex(6);r.setVisible(1);this._master=r;this._slave=s;this._afterSmoothZoom=1}}f.ImageTile=function(s){this._state=f.State.EMPTY;this._dataSource=s;this._pngInIE=s.isTransparent()&&g.msie&&g.version<7&&g.version>5.4;var r=this._image=q("<img />")[0];r.galleryImg=false;q(r).bind("load",m(this._onLoad,this)).bind("error",m(this._onError,this));this._element=this._pngInIE?q("<span />")[0]:r;this._position=new h();this._size=null;this._url="";this._element.style.position="absolute";this.scale(1)};c=f.ImageTile.prototype;c.getState=function(){return this._state};c.onAddToMap=function(r,s){this._map=r;s.appendChild(this._element)};c.onRemoveFromMap=function(){this._element.parentNode.removeChild(this._element)};c.scale=function(s){var r=this._dataSource.getTileSize()*s;if(r!=this._size){this._setSize(r)}};c._setSize=function(r){i.size(this._element,this._size=r)};c.setPosition=function(r){this._position.moveTo(r);i.position(this._element,this._position)};c.getPosition=function(){return this._position.copy()};c.load=function(s,r){if(s&&typeof r!=p){this._setUrl(this._dataSource.getTileUrl(s,r))}};c._setUrl=function(r){if(!r){this._onError()}else{if(this._url!=r){this._state=f.State.LOADING;this._setSrc(r)}}};if(g.opera&&g.version<9.5){c._setSrc=function(r){this._url=r;this._image.src=r;if(this._image.complete){this._onLoad()}}}else{c._setSrc=function(r){this._url=r;this._element.style.display="none";this._image.src=r}}c.abort=function(){if(!this._image.complete){this._onError()}};c.error=function(){this._onError()};c._onError=function(){this._state=f.State.FAILURE;var r=this._dataSource.getErrorTileUrl();if(this._url!=r){this._setSrc(r)}};if(g.opera&&g.version<9.5){c._onLoad=function(){this._state=f.State.SUCCESS;if(this._map){l.notify(this._map,this._map.Events._NeedRedraw)}}}else{c._onLoad=function(){this._state=f.State.SUCCESS;if(this._pngInIE){this._element.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+this._image.src+")";this._element.style.display="block"}else{this._element.style.display=""}}}d.TileContainer=function(r,t,s){this._map=r;this._parentContainer=t;this._dataSource=s;this._curTileSize=s.getTileSize();this._scaleCoefficient=1;this._freeTiles=[];this._addedTiles=[];this._element=q("<div />").addClass("YMaps-tile-container")[0];this._parentContainer.appendChild(this._element)};d.TileContainer.prototype={onMove:function(r){if(!this._isEmpty()){this._updateCells(r.x>0?1:0,r.y>0?1:0)}},update:function(){if(this._curTileSize!=this._dataSource.getTileSize()){this.scale(1)}var t=0,r=0,s=this._map.getContainerSize();if(s.x&&s.y){t=Math.ceil((s.y+1)/this._curTileSize)+1;r=Math.ceil((s.x+1)/this._curTileSize)+1}this._fill(t,r);if(!this._isEmpty()){this._centering()}},_fill:function(x,u){var w=this._addedTiles.length,r=this._addedTiles[0]?this._addedTiles[0].length:0;if(w>x){for(var v=x;v<w;v++){var y=this;q.each(this._addedTiles[v],function(){y._releaseTile(this)})}this._addedTiles.splice(x,w-x);w=x}if(r>u){for(var v=0,t;v<w;v++){for(t=u;t<r;t++){this._releaseTile(this._addedTiles[v][t])}this._addedTiles[v].splice(u,r-u)}r=u}if(w<x||r<u){for(var v=0,t;v<w;v++){for(t=r;t<u;t++){this._addedTiles[v].push(this._occupyTile())}}for(var v=w,t,s;v<x;v++){s=[];for(t=0;t<u;t++){s.push(this._occupyTile())}this._addedTiles.push(s)}}},_centering:function(){var w=this._map._state,v=this._curTileSize,t=this._map.getZoom(),y=w.centerInTiles,u=this._addedTiles.length,s=u>0?this._addedTiles[0].length:0,x=new h((s>>1)*v,(u>>1)*v),r=this._map.tileCoordinates.fromPixels(y,t,this._dataSource.getTileSize()).offset;x.moveBy(new h(s&1?r.x:r.x-v*(r.x>v/2),u&1?r.y:r.y-v*(r.y>v/2)));x=w.centerInPixels.diff(x).moveBy(w.offset).neg();this.setPosition(x,1)},_releaseTile:function(r){r.abort();this._freeTiles.push(r);r.onRemoveFromMap()},_occupyTile:function(){var r=this._freeTiles.shift()||this._dataSource.getTile();r.onAddToMap(this._map,this._element);r.scale(this._scaleCoefficient);return r},_callMethod:function(s){var u=Array.prototype.slice.call(arguments,1),w=0,r=this._addedTiles.length,x,t,v;for(;w<r;w++){x=this._addedTiles[w];t=0;v=x.length;for(;t<v;t++){x[t][s].apply(x[t],u)}}},setPosition:function(u,t){for(var s=0,r=this._addedTiles.length;s<r;s++){this._updateRow(s,u.copy(),t);u.moveByY(this._curTileSize)}},getPosition:function(){return this._isEmpty()?new h():this._addedTiles[0][0].getPosition().copy()},setZIndex:function(r){q(this._element).css("zIndex",r)},setVisible:function(r){this._callMethod("abort");q(this._element).css("display",r?"":"none")},scale:function(r){this._curTileSize=this._dataSource.getTileSize()*r;this._callMethod("scale",r);this.setPosition(this.getPosition());this._scaleCoefficient=r},getSize:function(){return this._isEmpty()?new h():new h(this._addedTiles[0].length*this._curTileSize,this._addedTiles.length*this._curTileSize)},_updateCells:function(r,w){var u=this._map._state.offset,v=this._map.getContainerSize(),s=this._curTileSize;while(1){var x=this.getPosition(),t=this.getSize();if(!r&&(x.x+u.x+s)<0){this._shift(0,0);continue}if(!w&&(x.y+u.y+s)<0){this._shift(1,0);continue}if(r&&(x.x+t.x+u.x-s)>v.x){this._shift(0,1);continue}if(w&&(x.y+t.y+u.y-s)>v.y){this._shift(1,1);continue}break}},_shift:function(u,x){var z=this.getPosition(),A=this.getSize(),w=this._addedTiles.length;if(u){if(x){var v=new h(z.x,z.y-this._curTileSize),y=this._addedTiles.pop();this._addedTiles.splice(0,0,y);this._updateRow(0,v,1)}else{var v=new h(z.x,z.y+A.y),t=this._addedTiles.shift();this._addedTiles.splice(w,0,t);this._updateRow(w-1,v,1)}}else{if(x){var v=new h(z.x-this._curTileSize,z.y),s=0,y;for(;s<w;s++){y=this._addedTiles[s].pop();this._addedTiles[s].splice(0,0,y)}this._updateColumn(0,v,1)}else{var v=new h(z.x+A.x,z.y),s=0,r,t;for(;s<w;s++){r=this._addedTiles[s];t=r.shift();r.splice(r.length,0,t)}this._updateColumn(this._addedTiles[0].length-1,v,1)}}},_updateRow:function(w,t,u){for(var s=0,v=this._addedTiles[w],r=v.length;s<r;s++){if(t){v[s].setPosition(t.copy());t.moveByX(this._curTileSize)}if(u){this._updateTileUrl(v[s])}}},_updateColumn:function(s,u,v){for(var t=0,r=this._addedTiles.length;t<r;t++){if(u){this._addedTiles[t][s].setPosition(u.copy());u.moveByY(this._curTileSize)}if(v){this._updateTileUrl(this._addedTiles[t][s])}}},_updateTileUrl:function(t){var y=t.getPosition().copy();y.moveBy(new h(this._curTileSize/2));var v=this._map,s=v.getZoom(),x=v.converter.mapPixelsToLocalPixels(y),w=v._state.centerInPixels.diff(x),r=v.tileCoordinates.scale(w).moveBy(v._state.centerInTiles),u=v.tileCoordinates.fromPixels(r,s,this._dataSource.getTileSize()).number;if(!u){t.error()}else{t.load(u,s)}},_isEmpty:function(){return(!this._addedTiles[0]||!this._addedTiles[0].length)},onRemoveFromMap:function(){for(var s=0,r=this._addedTiles.length;s<r;s++){var t=this;q.each(this._addedTiles[s],function(){t._releaseTile(this)})}this._addedTiles=[]},getTileInPosition:function(w){if(!this._map||this._isEmpty()){return null}var r=this._map.converter.mapPixelsToLocalPixels(this._addedTiles[0][0].getPosition()),v=this._addedTiles[0].length,u=this._addedTiles.length,t=Math.floor((w.x-r.x)/this._curTileSize),s=Math.floor((w.y-r.y)/this._curTileSize);if(t<0||t>=v||s<0||s>=u){return null}return this._addedTiles[s][t]}};n=d.CursorManager=function(r){this._$element=q(r);this._stack=[]};c=n.prototype;c.addCursor=function(r){if(b.cursors[r]){this._stack.push(r);this._setCursor(r)}};c._setCursor=function(r){var s=b.cursors[r];if(g.msie){if(s.cursor!==f.Cursor.INHERIT||(g.version>=8&&document.documentMode>=8)){var t=s.cursor;if(g.version==6){t=t.replace(/[^,]+\s+\d+\s+\d+\s*,?\s*/g,"")}this._$element.css("cursor",t)}else{this._$element[0].style.cursor=this._$element[0].parentNode.currentStyle.cursor}}else{if(!g.opera){if(this._$element[0].namespaceURI&&this._$element[0].namespaceURI=="http://www.w3.org/2000/svg"){this._$element.css("cursor",s.cursor)}else{if(this._current){this._$element.removeClass(b.cursors[this._current]["class"])}this._$element.addClass(s["class"])}}}this._current=r};c.removeCursor=function(s){var r=this._stack.length-1;while(r>=0&&this._stack[r]!==s){r--}if(r!=-1){this._stack.splice(r,1);var t=this._stack.length;if(t==r){if(t>0){this._setCursor(this._stack[t-1])}else{this._unsetCursor()}}}};c._unsetCursor=function(){if(this._current){if(g.msie){this._$element.css("cursor","")}else{if(!g.opera){if(this._$element[0].namespaceURI&&this._$element[0].namespaceURI=="http://www.w3.org/2000/svg"){this._$element.css("cursor","")}else{this._$element.removeClass(b.cursors[this._current]["class"])}}}this._current=null}};d.ControlsLayer=function(t,s,r){var u=l.observe(t,t.Events.MouseDown,function(){try{if(g.msie&&document.selection&&document.selection.type!="None"){document.selection.empty()}else{if(window.getSelection){window.getSelection().removeAllRanges()}}}catch(v){}});q(s).bind(b.MapDOMEvents.join(" "),function(x){if(x.type=="wheel"&&g.mozilla&&g.version<=1.8&&x.clientX==x.originalEvent.clientX&&x.clientY==x.originalEvent.clientY){var v=t.converter.coordinatesToClientPixels(t.getCenter());x.clientX=v.getX();x.clientY=v.getY()}var w=new f.MouseEvent(x,t);l.notify(t,"before"+x.type,t,w);if(!w.isMapEventPrevented()){l.notify(t,x.type,t,w)}if(!r){if(!g.mozilla||x.type!="contextmenu"||!w.isMapEventPrevented()){x.stopPropagation()}}});l.observe(t,t.Events.Destruct,function(){u.cleanup();q(s).unbind()})};d.LayerManager=function(v){var s=q("<div />").addClass("YMaps-layer-container").css("z-index",f.ZIndex.LAYER_CONTAINER)[0],r=q("<div />").addClass("YMaps-map-type-layer-container")[0],u=[];v.getContainer().appendChild(s);s.appendChild(r);this.getContainer=function(){return s};this.add=function(w){u.push(w)};this.addToMap=function(x,w){x.onAddToMap(v,w?r:s)};this.remove=function(x){var w=q.inArray(x,u);if(w!=-1){u.splice(w,1)}};this.removeFromMap=function(w){w.onRemoveFromMap()};this.onMapUpdate=function(){o(u.slice(),"onMapUpdate")};this.onMove=function(w,x){o(u.slice(),"onMove",w,x)};this.onSmoothZoomStart=function(){o(u.slice(),"onSmoothZoomStart")};this.onSmoothZoomTick=function(w){o(u.slice(),"onSmoothZoomTick",w)};this.onSmoothZoomEnd=function(){o(u.slice(),"onSmoothZoomEnd")};this.getCopyrights=function(){var y=[],A=v.getBounds(),z=v.getZoom();for(var x=0,w=u.length,B;x<w;x++){if(B=u[x].getCopyright(A,z)){y.push(B)}}return y};function t(B){var z=null,w=null;for(var y=0,x=u.length,A;y<x;y++){if(u[y].getZoomRange&&(A=u[y].getZoomRange(B))){w=w==null?A.max:Math.max(w,A.max);z=z==null?A.min:Math.min(z,A.min)}}return{min:z,max:w}}this.getMinZoom=function(w){return t(w).min};this.getMaxZoom=function(w){return t(w).max}};n=f.Layers=new i.ObjectStorage();n.get=function(s){var r=this._objects[s];return typeof r=="function"?new r():r||null};f.MapType=function(t,s,r){t=t instanceof Array?t.slice():[];this.getLayers=function(){return t.slice()};r=q.extend({},{textColor:"#000",minZoom:null,maxZoom:null},r);r.name=s;function u(w,x){x["get"+w.charAt(0).toUpperCase()+w.substr(1)]=function(){return r[w]}}for(var v in r){u(v,this)}};n=f.TileDataSource=function(s,r,t){this._tileUrlTemplate=s;this._isTransparent=!!r;this._smoothZoomEnabled=typeof t!=p?t:1};n.ERROR_TILE_URL=b.imageRoot+"404.gif";n.TRANSPARENT_TILE_URL=n.TRANPARENT_TILE_URL=b.imageRoot+"404t.png";n.prototype={__gStrings:["","G","Ga","Gag","Gaga","Gagar","Gagari","Gagarin"],getTile:function(){return new f.ImageTile(this)},getTileUrl:function(s,r){return this._tileUrlTemplate.replace("%d",(2*(s.x&1)+(s.y&1)+1)).replace("%c","x="+s.x+"&y="+s.y+"&z="+r).replace("%g","g="+this.__gStrings[(3*s.x+s.y)%8])},getErrorTileUrl:function(){return f.TileDataSource[(this.isTransparent()?"TRANSPARENT":"ERROR")+"_TILE_URL"]},getTileUrlTemplate:function(){return this._tileUrlTemplate},setTileUrlTemplate:function(r){this._tileUrlTemplate=r},isTransparent:function(){return this._isTransparent},smoothZoomEnabled:function(){return this._smoothZoomEnabled},getTileSize:function(){return f.TILE_SIZE}};(function(){var w=new s(d.MapData.VendorsData),v=function(y,A){var z=function(){f.Layer.call(this,A);this.getCopyright=function(C,B){return w.getCopyrights(y,C,B)};this.getZoomRange=function(B){return w.getZoomRange(y,B)}};j(z,f.Layer);f.Layers.add(y,z)};var u=d.MapData.tileUrlTemplates,r=d.MapData.DataVersions;v("map",new f.TileDataSource(u.map.replace("%c","v="+r.map+"&%c")));v("sat",new f.TileDataSource(u.sat.replace("%c","v="+r.sat+"&%c")));v("skl",new f.TileDataSource(u.skl.replace("%c","v="+r.skl+"&%c"),1,0));var t={textColor:"#444",minZoom:0,maxZoom:7};function x(y,z){f.MapType[y]=new f.MapType(z,b.types[y],t)}x("MAP",["map"]);t.textColor="#ddd";t.maxZoom=10;x("SATELLITE",["sat"]);x("HYBRID",["sat","skl"]);function s(C){var z=new function(){var J,K;this.setPoint=function(L){J=L.getX();K=L.getY()};this.check=function(L){return J>L.min[0]&&J<L.max[0]&&K>L.min[1]&&K<L.max[1]}};var D=new function(){var M,K,L,J;this.setBound=function(N){M=N.getLeft();L=N.getTop();K=N.getRight();J=N.getBottom()};this.check=function(N){return M<N.max[0]&&K>N.min[0]&&L>N.min[1]&&J<N.max[1]}};var A=new function(){var J=[];this.push=function(K){J.push(K)};this.getCopyrights=function(){J.sort(function(R,Q){return R.smax-Q.smax});var P=[],K,M={};for(var O=J.length-1;O>=0;O--){K=J[O].vid;for(var L=0,N=K.length;L<N;L++){if(!M[K[L]]){M[K[L]]=1;P.push(C.vendors[K[L]])}}}J=[];P.reverse();return P.join(", ")}};this.getCopyrights=function(M,L,O){z.setPoint(G(L));if(!E(z,O,M)){var N=H(L);for(var K=0,J=N.length;K<J;K++){D.setBound(N[K]);E(D,O,M)}}return A.getCopyrights()};function E(L,P,N){var J=I(N,P),Q=0;if(J){var K=F(L,J);for(var M=0,O;O=K[M];M++){if(O.smax>=P&&O.smin<=P){Q++;A.push(O)}}}return Q}function I(L,N){var K=C.layers[L];while(K&&K.refs){for(var J=0,M;M=K.refs[J];J++){if(M.smax>=N&&M.smin<=N){K=C.layers[M.type];break}}}return K}function F(M,L){var K=[],J=[L],O;while(O=J.pop()){if(O.nodes){for(var N=0,P;P=O.nodes[N];N++){if(M.check(P)){J.push(P)}}}else{if(O.vid){K.push(O)}}}return K}this.getZoomRange=function(P,O){if(B.mapBounds&&B.type==P&&B.mapBounds.equals(O)){return B.zoomRange}z.setPoint(G(O));var L=y(z,P);if(L.length){var J=L[0].smax,N=L[0].smin;for(var M=1,K=L.length;M<K;M++){J=Math.max(J,L[M].smax);N=Math.min(N,L[M].smin)}B.zoomRange={max:J,min:N}}else{B.zoomRange=null}B.mapBounds=O;B.type=P;return B.zoomRange};var B={};function y(L,N){var P=[C.layers[N]],M,J=[];while(M=P.pop()){if(M&&M.refs){for(var K=0,O;O=M.refs[K];K++){P.push(C.layers[O.type])}}else{J=J.concat(F(L,M))}}return J}function G(K){var J=K.getCenter();return new f.Point(i.cycleRestrict(J.getX(),-180,180),J.getY())}function H(M){var O=M.getLeft(),L=M.getRight(),K=M.getBottom(),N=M.getTop(),J;if(L-O>=360){J=[new f.Bounds(new h(-180,K),new h(180,N))]}else{O=i.cycleRestrict(O,-180,180);L=i.cycleRestrict(L,-180,180);if(L-O<0){J=[new f.Bounds(new h(O,K),new h(180,N)),new f.Bounds(new h(-180,K),new h(L,N))]}else{J=[new f.Bounds(new h(O,K),new h(L,N))]}}return J}}})();f.Map=function(s,r){if(!s){return}this._options=q.extend({ignoreResize:0,coordSystem:e,propagateEvents:false},r||{});this._construct(s);this.__copyrights=new d.CopyrightsControl();this.addControl(this.__copyrights);this.enableDblClickZoom();this.enableDragging();var t=this;if(!this._options.ignoreResize){q(window).bind("resize",function(){if(t.__resizeTimeout){window.clearTimeout(t.__resizeTimeout)}this.__resizeTimeout=window.setTimeout(function(){t.redraw(1);t.__resizeTimeout=null},0)})}if(!q.isReady){q(window).bind("load",function(){if(t._inited){t.redraw()}})}};c=f.Map.prototype;c.Events={Update:"update",TypeChange:"typechange",AddLayer:"addlayer",RemoveLayer:"removelayer",_NeedRedraw:"_needredraw",Redraw:"redraw",BalloonOpen:"BalloonOpen",BalloonClose:"BalloonClose",MoveStart:"movestart",Move:"move",MoveEnd:"moveend",DragStart:"dragstart",Drag:"drag",DragEnd:"dragend",BoundsChange:"boundschange",ZoomRangeChange:"ZoomRangeChange",SmoothZoomStart:"smoothzoomstart",SmoothZoomEnd:"smoothzoomend",BeforeClick:"beforeclick",Click:"click",BeforeDblClick:"beforedblclick",DblClick:"dblclick",BeforeContextMenu:"beforecontextmenu",ContextMenu:"contextmenu",BeforeMouseDown:"beforemousedown",MouseDown:"mousedown",BeforeDOMMouseScroll:"beforewheel",DOMMouseScroll:"wheel",BeforeMouseUp:"beforemouseup",MouseUp:"mouseup",BeforeMouseMove:"beforemousemove",MouseMove:"mousemove",Destruct:"destruct"};c.Events.ChangeType=c.Events.TypeChange;c._construct=function(r){var t=this;this._inited=0;this._element=r;q(this._element).addClass("YMaps");if(document.compatMode&&document.compatMode=="BackCompat"){q(this._element).addClass("YMaps-quirks-mode")}if(g.safari){q(this._element).addClass("YMaps-safari")}this.__overlays=[];this.__overlays_internal=[];this.__createdLayers={};this.__layers=[];var s=new h();this._state={cache:false,size:s,offset:new h(),centerInTiles:null,centerInPixels:s,_domOffset:s,getDomOffset:function(){if(!this.cache){t.__updateDomOffset()}return this._domOffset}};this.__updateContainerSize();this.coordSystem=this._options.coordSystem;this.tileCoordinates=new d.TileCoordinates(this);this.converter=new d.Converter(this);this.__cursorManager=new d.CursorManager(this._element);this.__layerManager=new d.LayerManager(this);this.__objectLayer=new d.CommonObjectLayer();this.addLayer(this.__objectLayer);this.__controlLayer=new d.ControlsLayer(this,this.__layerManager.getContainer(),this._options.propagateEvents);this.__initPredefControls();this.__setNewType(f.MapType.MAP);this._state.zoom=this.getMinZoom();this.hint=new d.Hint(this);this.__listeners=[]};c.__initPredefControls=function(){var r={};var s=this;q.each(["Dragging","DblClickZoom","ScrollZoom","Magnifier","Ruler","HotKeys","RightButtonMagnifier"],function(u,v){r[v]={enabled:0,control:null};var t;if(!s[t="enable"+v]){s[t]=function(w){s.__setEnabledControl(v,1,w)}}if(!s[t="disable"+v]){s[t]=function(){s.__setEnabledControl(v,0)}}if(!s[t=v.charAt(0).toLowerCase()+v.substr(1)+"Enabled"]){s[t]=function(){return r[v].enabled}}});r.Dragging.control=new d.DraggingControl(this.__layerManager.getContainer());r.Magnifier.control=new d.MagnifierControl(this.__layerManager.getContainer());r.RightButtonMagnifier.control=new d.RightButtonMagnifierControl(this.__layerManager.getContainer());this.__actionControls=r;this.__controls=[];this.__controlsPositions=[]};c.__setEnabledControl=function(s,t,r){var u=this.__actionControls[s];if(u&&u.enabled!=t){if(t){this.addControl(u.control||(u.control=new d[s+"Control"]()),null,r)}else{if(u.enabled){this.removeControl(u.control)}}u.enabled=t}};c.enableMagnifier=function(r){if(this.draggingEnabled()){this.__actionControls.Dragging.control._stopListening()}this.__setEnabledControl("Magnifier",1,r)};c.disableMagnifier=function(){if(this.draggingEnabled()){this.__actionControls.Dragging.control._beginListening()}this.__setEnabledControl("Magnifier",0)};c.addCursor=function(r){this.__cursorManager.addCursor(r)};c.removeCursor=function(r){this.__cursorManager.removeCursor(r)};c.getRulerState=function(){return this.__actionControls.Ruler.control?this.__actionControls.Ruler.control.getStateString():""};c.setRulerState=function(r){if(!this.__actionControls.Ruler.control){this.enableRuler();this.disableRuler()}this.__actionControls.Ruler.control.setStateString(r)};c.redraw=function(r,t){if(this._inited){var s=this.converter.localPixelsToCoordinates(i.size(this.getContainer()).scale(0.5).apply(Math.ceil));if(this.__updateContainerSize()){if(r){this.__baseResizeCenter=this.__baseResizeCenter||this.getCenter();this.setCenter(s);this.panTo(this.__baseResizeCenter,{callback:m(function(){this.__baseResizeCenter=null;if(t){t.apply(null,arguments)}},this)})}else{this.update();l.notify(this,this.Events.BoundsChange,this)}l.notify(this,this.Events.Redraw,this)}}};c.__updateContainerSize=function(){var r=i.size(this._element);if(!this._state.size.equals(r)){this._state.size=r;this._state.centerInPixels=new h(Math.ceil(r.x/2),Math.ceil(r.y/2));return 1}return this.__updateDomOffset()};c.__updateDomOffset=function(){var r=this._element,t=q(this._element).offset(),s=parseInt(q.curCSS(r,"borderLeftWidth",true),10),u=parseInt(q.curCSS(r,"borderTopWidth",true),10);t=new h(t.left,t.top).moveBy(new h(s,u));if(!this._state._domOffset.equals(t)){this._state._domOffset=t;return 1}return 0};c._smoothZoomStart=function(){l.notify(this,this.Events.SmoothZoomStart,this);this.__layerManager.onSmoothZoomStart()};c._smoothZoomTick=function(r){this.__layerManager.onSmoothZoomTick(r)};c._smoothZoomEnd=function(r){this._state.centerInTiles=this.coordSystem.fromCoordPoint(r);this.__layerManager.onSmoothZoomEnd();l.notify(this,this.Events.SmoothZoomEnd,this);this.update();l.notify(this,this.Events.BoundsChange,this)};c.panTo=function(u,r){r=r||{};var t=u instanceof Array?u:[u],w=r.callback,v=this;if(!this._inited){this.setCenter(t.pop());if(w){w(f.State.SUCCESS)}return}function s(y){if(!t.length||y==f.State.FAILURE){if(w){w(y)}return}var x=t.shift(),z=v.converter.coordinatesToLocalPixels(x).diff(v._state.centerInPixels);if(3*v._state.size.x<Math.abs(z.x)||3*v._state.size.y<Math.abs(z.y)){if(r.flying){v._flyBy(z.neg(),r)}else{v.setCenter(x);s(f.State.SUCCESS)}}else{v.moveBy(z.neg(),1,r)}}r.callback=s;s()};c._flyBy=function(y,t){var u=this.getZoom(),v=u,s=3*this._state.size.x,r=3*this._state.size.y;while(s<Math.abs(y.x)||r<Math.abs(y.y)){y.scale(0.5);v--}var x=this,w=function(z){if(t&&t.callback){t.callback(z)}};this.setZoom(v,{smooth:1,callback:function(z){if(z==f.State.SUCCESS){x.moveBy(y,1,{callback:function(A){if(A==f.State.SUCCESS){x.setZoom(u,{smooth:1,callback:w})}else{w(A)}}})}else{w(z)}}})};c.moveBy=function(t,r,s){if(r){this.__getSmoothMoving().start(t,s)}else{this._moveStart();this._move(t);this._moveEnd();if(s&&s.callback){s.callback(f.State.SUCCESS)}}};c.startMove=function(s,r){r=r||{};r.nonstop=1;this.__getSmoothMoving().start(s,r)};c.stopMove=function(){this.__getSmoothMoving().stop(0)};c.__getSmoothMoving=function(){return(this.__smoothMover=this.__smoothMover||new d.SmoothMoving(this))};c._moveStart=function(){this._movingCnt=(this._movingCnt||0)+1;if(this._movingCnt==1){l.notify(this,this.Events.MoveStart,this)}};c._move=function(s){this._state.centerInTiles.moveBy(this.tileCoordinates.scale(s));var r=(this.__pixelOffsetSum||(this.__pixelOffsetSum=new h())).moveBy(s).copy().apply(Math.floor);if(r.x||r.y){this.__pixelOffsetSum=r.diff(this.__pixelOffsetSum);if(this._state.size.x<Math.abs(r.x)||this._state.size.y<Math.abs(r.y)){this.update();l.notify(this,this.Events.BoundsChange,this)}else{this._state.offset.moveBy(r.neg());this.__layerManager.onMove(this._state.offset,r.neg());l.notify(this,this.Events.Move,this,r)}}};c._moveEnd=function(){this._movingCnt-=1;if(!this._movingCnt){l.notify(this,this.Events.MoveEnd,this);l.notify(this,this.Events.BoundsChange,this)}};c._dragStart=function(){this._draggingCnt=(this._draggingCnt||0)+1;if(this._draggingCnt==1){l.notify(this,this.Events.DragStart,this)}};c._drag=function(){if(this._draggingCnt){l.notify(this,this.Events.Drag,this)}};c._dragEnd=function(){this._draggingCnt-=1;if(!this._draggingCnt){l.notify(this,this.Events.DragEnd,this)}};c.update=function(){if(this._inited){this.__updatePos();this.__layerManager.onMapUpdate();l.notify(this,this.Events.Update,this)}};c.__updatePos=function(){this._state.offset=new h()};c.setCenter=function(r,u,w){var s=this.coordSystem.fromCoordPoint(this._restrictCenter(r)),x=!this._inited,v=0,t=w&&this.__setNewType(w);this.__getZoomer().stop();if(!this._state.centerInTiles||!this._state.centerInTiles.equals(s)){this._state.centerInTiles=s;this.__getZoomer().applyZoom(this._state.zoom);v=1}if(x){this.__init();this.__updatePos();this._inited=1}if(typeof u!=p&&u!=this._state.zoom){this.__getZoomer().applyZoom(u);v=1}if(t||x){this.__applyCurType();if(!x){l.notify(this,this.Events.TypeChange,this)}}if(x){this.__addLayers();this.__addOverlays();this.__addControls();if(this.getRulerState()&&!this.rulerEnabled()){this.enableRuler();this.disableRuler()}}if(v&&!x){this.update();l.notify(this,this.Events.BoundsChange,this)}};c._restrictCenter=function(r){return this.coordSystem.restrict(r)};c.__init=function(){this.__updateContainerSize();if(g.opera&&g.version<9.5){var u=this,t=null,r=function(){q(u.__layerManager.getContainer()).toggleClass("fakeClassName");t=null},s=function(){if(!t){t=window.setTimeout(r,0)}};this.__listeners.push(l.observe(this,this.Events.Move,s));this.__listeners.push(l.observe(this,this.Events._NeedRedraw,s))}this.__listeners=this.__listeners.concat(l.observe(this,[this.Events.BoundsChange,this.Events.TypeChange],this.__updateZoomRange))};c.getCenter=function(r){return this._state.centerInTiles&&this.coordSystem.toCoordPoint(this._state.centerInTiles,r)};c.getBounds=function(u){if(!this._inited){return null}var r=this.getContainerSize(),x=new f.Point(-(r.x%2)/2,-(r.y%2)/2),z=this.converter.localPixelsToCoordinates(new h(-x.x,r.y-x.y),1),w=this.converter.localPixelsToCoordinates(new h(r.x-x.x,-x.y),1),y=this.coordSystem;if(u){return y.getCoordBounds(z,w)}var s=y.fromCoordPoint(z),v=y.fromCoordPoint(w),t=y.getWorldSize(),A=this.coordSystem.getCoordPoint(z.getX(),z.getY()),C=this.coordSystem.fromCoordPoint(A,w),B=1e-7;if(v.getX()-s.getX()>t.getX()&&Math.abs(C.getX()-s.getX())>=t.getX()-B){s.setX(this._state.centerInTiles.x+0.5*t.getX()+0.5);v.setX(this._state.centerInTiles.x+0.5*t.getX()-0.5)}if(v.getY()-s.getY()>t.getY()&&Math.abs(C.getY()-s.getY())>=t.getY()-B){s.setY(this._state.centerInTiles.y+0.5*t.getY()+0.5);v.setY(this._state.centerInTiles.y+0.5*t.getY()-0.5)}return y.getCoordBounds(y.toCoordPoint(s),y.toCoordPoint(v))};c.setBounds=function(r){if(!this._inited){this.__updateContainerSize()}this.setCenter(r.getCenter(),r.getMapZoom(this))};c.setType=function(r){if(this.__setNewType(r)){if(this._inited){this.__applyCurType();l.notify(this,this.Events.TypeChange,this)}else{this.__updateZoomRange()}}};c.__setNewType=function(s){var r=this._state.type;if(s&&s instanceof f.MapType&&r!=s){this._state.type=s;if(r){this.__mapTypeAction("remove",r);if(this._inited){this.__mapTypeAction("removeFromMap",r)}}this.__mapTypeAction("add",s);return true}return false};c.__applyCurType=function(){this.__mapTypeAction("addToMap",this._state.type)};c.__mapTypeAction=function(u,t){for(var s=0,v=t.getLayers(),r=v.length;s<r;s++){this.__layerManager[u](this.__prepareLayer(v[s]),1)}};c.getType=function(){return this._state.type};c.__prepareLayer=function(r){return typeof r=="string"?this.__createdLayers[r]||(this.__createdLayers[r]=f.Layers.get(r)):r};c.addLayer=function(r){this.__layers.push(r);if(this._inited){this.__assignLayer(r,1)}};c.__assignLayer=function(r,s){r=this.__prepareLayer(r);this.__layerManager[s?"add":"remove"](r);this.__layerManager[s?"addToMap":"removeFromMap"](r);l.notify(this,this.Events[s?"AddLayer":"RemoveLayer"],this,r);this.__updateZoomRange()};c.__addLayers=function(){for(var s=0,r=this.__layers.length;s<r;s++){this.__assignLayer(this.__layers[s],1)}};c.removeLayer=function(s){var r=q.inArray(s,this.__layers);if(r!==-1){this.__layers.splice(r,1);if(this._inited){this.__assignLayer(s,0)}}};c._getLayerCopyrights=function(){return this.__layerManager.getCopyrights()};c.setZoom=function(s,r){this.__getZoomer().zoomTo(Number(s),r)};c.zoomBy=function(s,r){this.__getZoomer().zoomBy(s,r)};c.__getZoomer=function(){return this.__zoomer||(this.__zoomer=new d.Zoomer(this))};c.getZoom=function(){return this._state.zoom};c.setMaxZoom=function(r){this._userMaxZoom=r;this.__updateZoomRange()};c.setMinZoom=function(r){this._userMinZoom=r;this.__updateZoomRange()};q.each(["Min","Max"],function(t,s){var r=s.toLowerCase(),u=(r=="min"?"max":"min"),w="get"+s+"Zoom",v=r=="max";c[w]=function(A,z){var B=this._inited?this.__layerManager[w](A||this.getBounds()):null;if(!z){var x=this._state.type[w]();if(x!=null){B=B==null?x:Math[r](B,x)}var C=v?this._userMaxZoom:this._userMinZoom;if(typeof C!=p&&C!==null){B=B==null?C:Math[u](B,C)}var y=v?this.coordSystem.getMaxZoom():0;B=B==null?y:Math[u](B,y)}return B}});c.__updateZoomRange=function(){var s=this.getMinZoom(),r=this.getMaxZoom();if(!this.__zoomRange||this.__zoomRange.min!=s||this.__zoomRange.max!=r){this.__zoomRange={min:s,max:r};f.Events.notify(this,this.Events.ZoomRangeChange,this,{min:s,max:r})}};c.getContainer=function(){return this._element};c.getContainerSize=function(){return this._state.size.copy()};c.addOverlay=function(r,s){this.__overlays.push(r);this.__overlays_internal.push(!!s);if(this._inited){this.__objectLayer.add(r)}};c.__addOverlays=function(){for(var s=0,r=this.__overlays.length;s<r;s++){this.__objectLayer.add(this.__overlays[s])}};c.removeOverlay=function(s){var r=q.inArray(s,this.__overlays);if(r!==-1){this.__overlays.splice(r,1);this.__overlays_internal.splice(r,1);if(this._inited){this.__objectLayer.remove(s)}}};c.removeAllOverlays=function(){var s=0,u=this.__overlays.slice(),t=this.__overlays_internal.slice(),r=u.length;for(;s<r;s++){if(!t[s]){this.removeOverlay(u[s])}}};c.addControl=function(t,s,r){this.__controls.push(t);this.__controlsPositions.push(s);if(this._inited){t.onAddToMap(this,s,r)}};c.__addControls=function(){for(var s=0,r=this.__controls.length;s<r;s++){this.__controls[s].onAddToMap(this,this.__controlsPositions[s])}};c.removeControl=function(s){var r=q.inArray(s,this.__controls);if(r!==-1){this.__controls.splice(r,1);this.__controlsPositions.splice(r,1);if(this._inited){s.onRemoveFromMap()}}};c.openBalloon=function(s,u,t){if(s){t=t||{};this.closeBalloon();var r=this.__balloon;if(!r){this.__balloon=r=new f.Balloon();this.__listeners.push(l.observe(r,r.Events.Close,this.closeBalloon,this))}this.__curBalloon=r;r.setGeoPoint(s.copy());r.setContent(u);this.__balloonCloseCallback=typeof t.onClose=="function"?t.onClose:null;r.setOptions(t,1);this.addOverlay(r);l.notify(this,this.Events.BalloonOpen,this)}};c.closeBalloon=function(){if(this.__curBalloon){if(this.__balloonCloseCallback){this.__balloonCloseCallback()}this.__curBalloon=null;this.__balloon._setContent(null);this.removeOverlay(this.__balloon);l.notify(this,this.Events.BalloonClose,this);return 1}return 0};c.getBalloon=function(){return this.__curBalloon};c.addCopyright=function(r){this.__copyrights.addCopyright(r)};c.removeCopyright=function(r){this.__copyrights.removeCopyright(r)};c.destructor=function(){l.notify(this,this.Events.Destruct,this);if(this.__listeners){o(this.__listeners,"cleanup")}if(this.__resizeTimeout){window.clearTimeout(this.__resizeTimeout)}if(this._element){q(this._element).empty()}this.converter=this.__overlays=this.__overlays_internal=this._element=this.__controls=this.__actionControls=this.__controlsPositions=this.__layers=this._inited=this.__layerManager=this.__objectLayer=this._graphicsLayer=this.__controlLayer=this._state=this.__createdLayers=this.__copyrights=this.__balloon=this.__curBalloon=this.__listeners=null};n=d.CommonObjectLayer=function(){f.Group.call(this);d.ALayer.call(this,{zIndex:f.ZIndex.COMMON_OBJECT_LAYER});q(this.getContainer()).addClass("YMaps-common-object-layer");this.__listeners=[l.observe(this,this.Events.Add,function(t,s,r){this.__addObjectToMap(s,r)},this),l.observe(this,this.Events.Remove,function(t,s,r){this.__removeObjectFromMap(s,r)},this)]};c=j(n,d.ALayer);q.extend(true,n.prototype,f.Group.prototype);c.onAddToMap=function(r,s){d.ALayer.prototype.onAddToMap.call(this,r,s);this.forEach(this.__addObjectToMap,this)};c.__addObjectToMap=function(r){if(this.getMap()){r.onAddToMap(this.getMap(),this.getContainer())}};c.onRemoveFromMap=function(){this.forEach(this.__removeObjectFromMap,this);d.ALayer.prototype.onRemoveFromMap.call(this)};c.__removeObjectFromMap=function(r){if(this.getMap()){r.onRemoveFromMap()}};c.onSmoothZoomStart=function(){q(this.getContainer()).css("visibility","hidden")};c.onSmoothZoomEnd=function(){q(this.getContainer()).css("visibility","visible")};c.onMapUpdate=function(){d.ALayer.prototype.onMapUpdate.call(this);o(this._objects.slice(),"onMapUpdate")};f.Templates=new i.ObjectStorage();n=f.Styles=new i.ObjectStorage();n.DefaultStyleKey="default#style";n=d.ABaseLayout=function(r,s){this._context=r;this._map=s;this._parentNode=null};c=n.prototype;c._setContent=function(s,r){if(this._contentLayout){this._contentLayout.onRemoveFromParent()}if(s){s.onAddToParent(r)}this._contentLayout=s};c.onAddToParent=function(r){this._parentNode=r;q(r).append(this._$elements)};c.onRemoveFromParent=function(){this._parentNode=null;this._$elements.removeFromDom()};n=d.TextLayout=function(s,t,u,r){d.ABaseLayout.call(this,s,t);this._text=String(u);this._$elements=q("<div />");this._$elements.html(r?this.__prepareTemplate(this._text,s):this._text);this._$elements=this._$elements.contents();if(g.msie&&g.version<7){this.__pngFix()}if(!r){this.update=function(){}}};c=j(n,d.ABaseLayout);c.__pngFix=function(){var s=this._$elements.filter("img").add(this._$elements.find("img")),u=this;for(var t=0,r=s.length;t<r;t++){(function(v){var w=q(v);w.bind("load",function(){var y=q("<div />").css({filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+v.src+"', sizingMethod='scale')"});i.size(y[0],i.size(v));var x=u._$elements.index(v);if(x!=-1){u._$elements[x]=y[0]}w.replaceWith(y)})})(s[t])}};c.__prepareTemplate=function(w,u){var y=new RegExp("\\$\\[[^\\]]*\\]","g"),t=w.match(y);if(t){for(var s=0,r=t.length,v,x=new RegExp("\\|([^\\]]*)");s<r;s++){v=this.__getTemplateVal(t[s],u);if(v==null){v=t[s].match(x);if(v&&v.length==2){v=v[1]}}w=w.replace(t[s],v==null?"":v)}}return w};c.__getTemplateVal=function(w,s){if(w){var v=s,r=new RegExp("[^\\$\\[\\]\\|\\s]+"),u=w.match(r)[0].split("."),t="";while(u.length&&v){t=u.shift();if(t=="style"&&v==s&&typeof s.getComputedStyle=="function"){v=s.getComputedStyle()}else{if(t!="0"||v instanceof Array){v=v[t]}}}return v}return null};c.update=function(){var r=q("<div />");r.html(this.__prepareTemplate(this._text,this._context));r=r.contents();if(this._parentNode){this._$elements.remove();r.appendTo(this._parentNode)}this._$elements=r;if(g.msie&&g.version<7){this.__pngFix()}};n=d.DOMLayout=function(s,t,r){d.ABaseLayout.call(this,s,t);this._$elements=q(r)};c=j(n,d.ABaseLayout);c.update=i.NULL;f.Template=function(r){this._text=r||""};f.Template.prototype={build:function(r,s){return new d.TextLayout(r,s,this._text,1)}};f.LayoutTemplate=function(r){this._layoutClass=r};f.LayoutTemplate.prototype={build:function(s,t,r){return new this._layoutClass(s,t,r)}};function a(s,r){f.Templates.add(s,{build:function(t,u){return i.normalizeContent(r(t,u))}})}a("default#iconContent",i.NULL);a("default#hintContent",function(r){return r.name||null});a("default#balloonContent",function(r){return"<b>"+(r.name||"")+"</b><div>"+(r.description||"")+"</div>"});n=f.Style=function(r){this.parentStyle=r};n.copy=function(r){var s=f.Style.extendStyle({},r,0);s.parentStyle=r.parentStyle;return s};n.extendStyle=function(u,t,s){var x,v,r;for(var w in t){x=t[w];if(w=="parentStyle"||typeof x==p){continue}v=u[w];if(w=="shadow"&&v===null){continue}r=typeof v==p||(s&&v===null);if(w=="template"||x===null||typeof x!="object"){if(r){u[w]=x}}else{if(x.copy){if(r){u[w]=x.copy()}}else{if(r){u[w]={}}f.Style.extendStyle(u[w],x,s)}}}return u};f.IconStyle=function(r){this.template=r};f.IconShadowStyle=function(r){this.template=r};f.IconContentStyle=function(r){this.template=r};f.BalloonStyle=function(r){this.template=r};f.BalloonContentStyle=function(r){this.template=r};f.HintStyle=function(r){this.template=r};f.HintContentStyle=function(r){this.template=r};f.LineStyle=function(){};f.PolygonStyle=function(){f.LineStyle.call(this)};new function(){var u=function(v,x){var w=new f.Style(null);w.iconStyle={offset:new h(-7,-28),href:b.imageRoot+"micro/pm"+x+"s.png",size:new h(28,29),shadow:null,template:"default#"+v+"PointIcon"};f.Styles.add("default#"+v+"Point",w);return w};var r=function(v,x){var w=new f.Style(null);w.iconStyle={offset:new h(-7,-19),href:b.imageRoot+"placemarks/pm"+x+"s.png",size:new h(19,20),shadow:null,template:"default#"+v+"PointIcon"};f.Styles.add("default#"+v+"SmallPoint",w);return w};var s={white:"wt",green:"gn",red:"rd",yellow:"yw",darkblue:"db",night:"nt",grey:"gr",blue:"bl",orange:"or",darkorange:"do",pink:"pn",violet:"vv"};for(var t in s){u(t,s[t]);r(t,s[t])}f.Styles.add(f.Styles.DefaultStyleKey,u("lightblue","lb"))};d.Popup=function(s,r){r=r||{};this._map=s;this._style=r.style||f.AGeoObject.fullStyle.hintStyle;this._vpNode=document.body;this._vpPaddings=this.DEFAULT_VIEWPORT_PADDINGS;this._maxSize=[0,0];this.__actualMaxSize=[0,0];this.__setMaxSize(r.maxWidth||0,r.maxHeight||0);this._layoutContext=null;this._currentLayoutContext=null;this.__showed=0;this._holdOnMouseOver=typeof r.holdOnMouseOver!=p?r.holdOnMouseOver:1;this._onHide=r.onHide||null;this._recalcActualMaxSize();this._showTimeout=this.DEFAULT_SHOW_TIMEOUT;if(typeof r.showTimeout!=p){this._setShowTimeout(r.showTimeout)}this._hideTimeout=this.DEFAULT_HIDE_TIMEOUT;if(typeof r.hideTimeout!=p){this._setHideTimeout(r.hideTimeout)}this.__onShowTimeout=m(this.quickShow,this);this.__onHideTimeout=m(this.quickHide,this);this.__onMouseOverHandler=m(this._onMouseOver,this);this.__onMouseOutHandler=m(this._onMouseOut,this);this._owner=r.owner};c=d.Popup.prototype;c.Events={Hide:"Hide",Show:"Show"};c.DEFAULT_SHOW_TIMEOUT=250;c.DEFAULT_HIDE_TIMEOUT=700;c.DEFAULT_VIEWPORT_PADDINGS=[10,10,10,10];c.setPosition=function(r){if(r instanceof h){this._position=r.copy();if(this._layout&&this.__showed){this.__applyPosition()}}};c.getPosition=function(){return this._position};c.__applyPosition=function(){if(this._position){var w=this._map.converter.localPixelsToClientPixels(this._position);w.moveBy(new h(q(window).scrollLeft(),q(window).scrollTop()));var r=this._getActualViewportBounds(),u=r.getLeft(),y=r.getTop(),z=r.getRight(),s=r.getBottom(),x=this._layout.getSize?this._layout.getSize():i.size(this._container),v=w.x+x.x,t=w.y+x.y;if(v>z){w.x-=v-z}else{if(w.x<u){w.x+=u-w.x}}if(t>s){w.y-=t-s}else{if(w.y<y){w.y+=y-w.y}}i.position(this._container,w)}};c._getActualViewportBounds=function(){var r=this._vpPaddings,E=r[0],u=r[1],t=r[2],w=r[3],A=q(window),v=A.scrollLeft(),z=A.scrollTop(),x=A.width(),C=A.height(),s=w+u,D=E+t;if(s>x){var B=Math.ceil((s-x)/2);w-=B;u-=B}if(D>C){var y=Math.ceil((D-C)/2);E-=y;t-=y}return new f.Bounds(new h(w+v,-t+C+z),new h(-u+x+v,E+z))};c._setStyle=function(r){if(this._style!=r){this._style=r;this.update()}};c.update=function(){if(f.Templates.get(this._style.template)==this._currentTemplate&&(this._currentLayoutContext==this._layoutContext)&&this._layout){if(this.__showed){this._layout.update()}}else{this._removeLayout();if(this.__showed){this._recreate()}}};c._recreate=function(){this._removeLayout();this._createLayout();if(this._layout){this.__rewriteContent();if(this._layout.setMaxSize){this._layout.setMaxSize.apply(this._layout,this.__actualMaxSize)}if(this.__showed){this.__showLayout()}}};c._removeLayout=function(){if(this._layout){q(document).unbind("mousemove",this.__onMouseOutHandler);q(this._container).unbind("mouseover");if(this.__showed){this._layout.onRemoveFromParent()}this._layout=null}};c._createLayout=function(){if(!this._container){this._container=document.createElement("div");this._container.style.zIndex=f.ZIndex.POPUP;this._container.className="YMaps-popup"}var r=f.Templates.get(this._style.template);if(!r){r=f.Templates.get(f.AGeoObject.fullStyle.hintStyle.template)}this._currentTemplate=r;this._currentLayoutContext=this._layoutContext;this._layout=r.build(this._layoutContext,this._map,this._owner);this._layout.onAddToParent(this._container)};c.__showLayout=function(){this._container.style.visibility="hidden";this._vpNode.appendChild(this._container);this._layout.update();this.__applyPosition();this._container.style.visibility="visible"};c.setContent=function(r){this._content=r;this._contentLayout=i.normalizeContent(r);if(this._layout){this.__rewriteContent();if(this.__showed){this._layout.update();this.__applyPosition()}}};c.getContent=function(){return this._content};c.__rewriteContent=function(){if(this._layout.setContent){this._layout.setContent(this._contentLayout)}};c.setOptions=function(s,u){s=s||{};var r=u?{style:f.AGeoObject.hintStyle,maxWidth:0,maxHeight:0,showTimeout:this.DEFAULT_SHOW_TIMEOUT,hideTimeout:this.DEFAULT_HIDE_TIMEOUT,holdOnMouseOver:1,onHide:null,layoutContext:null}:this.getOptions();for(var t in s){r[t]=s[t]}this._layoutContext=r.layoutContext;this.__setMaxSize(r.maxWidth,r.maxHeight);this._recalcActualMaxSize();this._setShowTimeout(r.showTimeout);this._setHideTimeout(r.hideTimeout);this._holdOnMouseOver=r.holdOnMouseOver;this._onHide=r.onHide;this._setStyle(r.style)};c.getOptions=function(){return{style:this._style,maxWidth:this._maxSize[0],maxHeight:this._maxSize[1],showTimeout:this._showTimeout,hideTimeout:this._hideTimeout,holdOnMouseOver:this._holdOnMouseOver,onHide:this._onHide,layoutContext:this._layoutContext}};c.__setMaxSize=function(t,s){t=Math.max(t,0)||0;s=Math.max(s,0)||0;var r=0;if(this._maxSize[0]!=t){this._maxSize[0]=t;r=1}if(this._maxSize[1]!=s){this._maxSize[1]=s;r=1}return r};c._recalcActualMaxSize=function(){var r=this._getActualViewportBounds();this.__actualMaxSize=[Math.min(r.getRight()-r.getLeft(),this._maxSize[0]||Infinity),Math.min(r.getBottom()-r.getTop(),this._maxSize[1]||Infinity)];if(this._layout){if(this._layout.setMaxSize){this._layout.setMaxSize.apply(this._layout,this.__actualMaxSize)}if(this.__showed){this._layout.update();this.__applyPosition()}}};c._setShowTimeout=function(r){if(typeof r=="number"&&!isNaN(r)){this._showTimeout=r}};c._setHideTimeout=function(r){if(typeof r=="number"&&!isNaN(r)){this._hideTimeout=r}};c._clearAllTimeouts=function(){this._clearShowTimeout();this._clearHideTimeout()};c._clearShowTimeout=function(){if(this.__showTimeoutID){window.clearTimeout(this.__showTimeoutID);this.__showTimeoutID=null}};c._clearHideTimeout=function(){if(this.__hideTimeoutID){window.clearTimeout(this.__hideTimeoutID);this.__hideTimeoutID=null}};c.show=function(r){this._clearHideTimeout();if(r){this.setPosition(r)}if(!this.__showed){if(this._showTimeout==0){this.quickShow(r)}else{if(!this.__showTimeoutID){this.__showTimeoutID=window.setTimeout(this.__onShowTimeout,this._showTimeout)}}}};c.quickShow=function(r){this._clearAllTimeouts();if(r){this.setPosition(r)}if(this.__showed){return}this.__showed=1;if(this._layout){this._layout.onAddToParent(this._container);this.__showLayout()}else{this._recreate()}l.notify(this,this.Events.Show,this);this._hiding=0;q(this._container).bind("mouseover",this.__onMouseOverHandler)};c.hide=function(){this._hiding=1;this._clearShowTimeout();if(this.__showed){if(this._hideTimeout==0){this.quickHide()}else{if(!this.__hideTimeoutID){this.__hideTimeoutID=window.setTimeout(this.__onHideTimeout,this._hideTimeout)}}}else{if(this._onHide){this._onHide()}}};c.quickHide=function(){this._clearAllTimeouts();if(this.__showed&&!(this._holdOnMouseOver&&this.__isMouseOver)){this._hide()}};c._hide=function(){this._clearAllTimeouts();if(this.__showed){this.__showed=0;this.__isMouseOver=0;q(this._container).unbind("mouseover",this.__onMouseOverHandler);q(document).unbind("mousemove",this.__onMouseOutHandler);this._layout.onRemoveFromParent();this._vpNode.removeChild(this._container);if(this._onHide){this._onHide()}l.notify(this,this.Events.Hide,this)}};c.isShown=function(){return this.__showed};c._onMouseOver=function(r){this.__isMouseOver=1;if(this._holdOnMouseOver){this._clearAllTimeouts()}q(this._container).unbind("mouseenter",this.__onMouseOverHandler);q(this._container).bind("mouseleave",this.__onMouseOutHandler)};c._onMouseOut=function(r){this.__isMouseOver=0;q(this._container).unbind("mouseleave",this.__onMouseOutHandler);q(this._container).bind("mouseenter",this.__onMouseOverHandler);if(this._holdOnMouseOver&&this._hiding){this.hide()}};c.destructor=function(){this._clearAllTimeouts();this._removeLayout();this._vpNode=null};(function(){n=d.Hint=function(t){this.__popup=new d.Popup(t,{owner:this});this._offset=null;this._onHide=null;var u=this;l.observe(this.__popup,this.__popup.Events.Show,function(){l.notify(this,this.Events.Show,this)},this);l.observe(this.__popup,this.__popup.Events.Hide,function(){l.notify(this,this.Events.Hide,this)},this);this._onHideCallback=function(){if(u._onHide){u._onHide();u._onHide=null}}};c=n.prototype;c.Events={Hide:"Hide",Show:"Show"};c.show=function(t,v,u){var w=this.isShown();if(w){l.notify(this,this.Events.Hide,this)}this._onHideCallback();this.setOptions(u);this.setContent(v);this.__popup.show(t.copy().moveBy(this._offset));if(w){l.notify(this,this.Events.Show,this)}};c.setOptions=function(u){u=u||{};var t={style:f.AGeoObject.fullStyle.hintStyle,showTimeout:250,maxWidth:750,maxHeight:300,offset:new h(15,15)};for(var v in u){t[v]=u[v]}var w=t.hintOffset||t.offset;if(this._offset&&!this._offset.equals(w)&&this.isShown()){this.__popup.setPosition(this.__popup._position.copy().moveBy(this._offset.neg()).moveBy(w))}this._offset=w;this._onHide=t.onHide;t.onHide=this._onHideCallback;this.__popup.setOptions(t,1)};c.setContent=function(t){this.__popup.setContent(t)};c.moveTo=function(t){this.__popup.setPosition(t.copy().moveBy(this._offset))};c.isShown=function(){return this.__popup.isShown()};c.hide=function(t){this.__popup.setOptions({hideTimeout:typeof t==p?this.__popup.DEFAULT_HIDE_TIMEOUT:t},0);this.__popup.hide()};var r;var s=function(t,v){d.ABaseLayout.call(this,t,v);var u=this._$elements=q('<div class="YMaps-b-balloon-point">                        <div class="YMaps-b-balloon YMaps-b-balloon_hint">                            <table class="YMaps-b-balloon-frame">                            <tr>                                <td class="YMaps-b-balloon-tl"><i class="YMaps-b-balloon-bit"><i></i></i></td>                                <td class="YMaps-b-balloon-t"><i class="YMaps-b-balloon-bit"><i></i></i></td>                                <td class="YMaps-b-balloon-tr"><i class="YMaps-b-balloon-bit"><i></i></i></td>                            </tr>                            <tr>                                <td class="YMaps-b-balloon-ml"></td>                                <td class="YMaps-b-balloon-m">                                    <div class="YMaps-b-balloon-content"></div>                                </td>                                <td class="YMaps-b-balloon-mr"></td>                            </tr>                            <tr>                                <td class="YMaps-b-balloon-b" colspan="3">                                    <i class="YMaps-b-balloon-corners">                                        <i class="YMaps-b-balloon-bit"><i></i></i>                                        <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_l"><i></i></i>                                        <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_r"><i></i></i>                                    </i>                                </td>                            </tr>                            </table>                        </div>                    </div>');this._nodes={visContainer:u.find(".YMaps-b-balloon"),content:u.find(".YMaps-b-balloon-content"),table:u.find(".YMaps-b-balloon-frame")};this._topNode=u[0];this._size=null;this._hasContent=false};c=j(s,d.ABaseLayout);c.DEFAULT_MIN_WIDTH=42;c.update=function(){if(!this._parentNode||!this._hasContent){return}if(g.msie){this._$elements.toggleClass("fakeClassName")}var v=this._nodes.content,z=this._maxSize,y=this._nodes.visContainer;if(!r||r.x<0){r=new f.Point(y.find(".YMaps-b-balloon-ml").width()+y.find(".YMaps-b-balloon-mr").width()-2,y.find(".YMaps-b-balloon-t").height()+y.find(".YMaps-b-balloon-b").height());if(g.opera&&g.version>=9.5){r.x-=1}}y.css("width","10000px");v.css({width:"",height:"",overflow:"","float":"left"});var u=v.width();if(q.os.name=="mac"&&q.browser.mozilla){u++}var w=u+r.getX();if(z[0]&&w>z[0]){w=z[0]}else{if(w<this.DEFAULT_MIN_WIDTH){w=this.DEFAULT_MIN_WIDTH}}v.css("width",Math.max(0,w-r.getX()));var x=v.height(),t=x+r.getY();if(z[1]&&t>z[1]){t=z[1]}v.css({height:Math.max(0,t-r.getY()),overflow:"hidden","float":""});y.css("width","")};c.setMaxSize=function(u,t){this._maxSize=[u,t]};c.setContent=function(t){this._setContent(t,this._nodes.content[0]);if(t){this._$elements.css({display:""});var u=this;i.imagesOnLoad(this._nodes.content,function(){u.update()},function(v){if(v==0){u.update()}});this._hasContent=true}else{this._$elements.css({display:"none"});this._hasContent=false}this._size=null};c.getSize=function(){if(!this._size){this._size=i.size(this._nodes.table[0])}return this._size};f.Templates.add("default#hint",new f.LayoutTemplate(s))})();n=f.Balloon=function(r){r=r||{};this._style=r.style||f.AGeoObject.fullStyle.balloonStyle;this._layoutContext=null;this._currentLayoutContext=null;this._maxSize=[0,0];this.__setMaxSize(r.maxWidth||0,r.maxHeight||0);this._hasCloseButton=typeof r.hasCloseButton==p?1:r.hasCloseButton;this._margin=this.MARGIN;if(typeof r.margin!=p){this.__setMargin.apply(this,[].concat(r.margin))}this._mapAutoPan=typeof r.mapAutoPan==p?1:r.mapAutoPan;var s=this;this.__closeHandler=function(t){s._onCloseClick(t)}};c=n.prototype;c.Events={Close:"Close",CloseButtonClick:"Close"};c.MARGIN=[33,10,20,33];c.setOptions=function(s,u){s=s||{};var r=u?{style:f.AGeoObject.fullStyle.balloonStyle,maxWidth:0,maxHeight:0,hasCloseButton:1,margin:this.MARGIN,mapAutoPan:1,layoutContext:null}:this.getOptions();for(var t in s){r[t]=s[t]}this._layoutContext=r.layoutContext;this._setHasCloseButton(r.hasCloseButton);this._setMaxSize(r.maxWidth,r.maxHeight);this.__setMargin.apply(this,[].concat(r.margin));this._mapAutoPan=r.mapAutoPan;this._setStyle(r.style)};c.getOptions=function(){return{style:this._style,maxWidth:this._maxSize[0],maxHeight:this._maxSize[1],hasCloseButton:this._hasCloseButton,margin:this._margin,mapAutoPan:this._mapAutoPan,layoutContext:this._layoutContext}};c._setMaxSize=function(s,r){if(this.__setMaxSize(s,r)&&this._layout&&this._layout.setMaxSize){this._layout.setMaxSize(this._maxSize[0],this._maxSize[1]);if(this._parentContainer){this._layout.update();this.__updatePosition()}}};c.__setMaxSize=function(t,s){t=Math.max(t,0)||0;s=Math.max(s,0)||0;var r=0;if(this._maxSize[0]!=t){this._maxSize[0]=t;r=1}if(this._maxSize[1]!=s){this._maxSize[1]=s;r=1}return r};c.__setMargin=function(t,s,u,r){if(typeof t=="number"){this._margin=[t,typeof s=="number"?s:s=t,typeof u=="number"?u:u=t,typeof r=="number"?r:r=s]}};c._setContent=function(r){this._content=r;this._contentLayout=i.normalizeContent(r);if(this._layout){this.__rewriteContent();if(this._parentContainer){this._layout.update();this.__updatePosition()}}};c.setContent=function(r){this._setContent(r);if(this._mapAutoPan&&this._layout&&this._parentContainer){this.mapAutoPan()}};c.getContent=function(){return this._content};c.__rewriteContent=function(){if(this._layout.setContent&&this._contentLayout){this._layout.setContent(this._contentLayout)}};c.setCoordPoint=function(r){this._point=r;this.__updatePosition()};c.setGeoPoint=c.setCoordPoint;c.getCoordPoint=function(){return this._point};c.getGeoPoint=c.getCoordPoint;c._setStyle=function(r){if(this._style!=r){this._style=r;this.update()}};c.update=function(){if(f.Templates.get(this._style.template)==this._currentTemplate&&(this._currentLayoutContext==this._layoutContext)&&this._layout){if(this._parentContainer){this._layout.update()}}else{this.__clearLayout();if(this._parentContainer){this.__createLayout();if(this._layout.setMaxSize){this._layout.setMaxSize(this._maxSize[0],this._maxSize[1])}this.__rewriteContent();this.__applyHasCloseButton();this.__addToParentContainer();this.__updatePosition()}}};c.__addToParentContainer=function(){this._layout.onAddToParent(this._container)};c.__updatePosition=function(){if(this._parentContainer){if(this._point){this.__posInPixels=this._map.converter.coordinatesToMapPixels(this._point);i.position(this._container,this.__posInPixels)}else{throw"Balloon position point is not defined."}}};c.onMapUpdate=function(){this.__updatePosition()};c.__clearLayout=function(){if(this._layout){this._layout.onRemoveFromParent();this._layout=this.__writtenContent=null}};c.__createLayout=function(){var r=f.Templates.get(this._style.template);if(!r){r=f.Templates.get(f.AGeoObject.fullStyle.balloonStyle.template)}this._currentTemplate=r;this._currentLayoutContext=this._layoutContext;this._layout=r.build(this._layoutContext,this._map,this);this._setLayoutListeners()};c._setLayoutListeners=function(){q(this._container).bind("contextmenu",function(s){var r=new f.MouseEvent(s,this._map);if(!r.isMapEventPrevented()){s.preventDefault();r.preventMapEvent()}})};c._onCloseClick=function(r){r.originalEvent.ymapsProcessed=1;l.notify(this,this.Events.CloseButtonClick,this)};c._setHasCloseButton=function(r){if(typeof r!=p){this._hasCloseButton=r;if(this._layout){this.__applyHasCloseButton();if(this._parentContainer){this._layout.update()}}}};c.__applyHasCloseButton=function(){if(this._hasCloseButton){if(this._layout.enableClose){this._layout.enableClose(this.__closeHandler)}}else{if(this._layout.disableClose){this._layout.disableClose()}}};c.onAddToMap=function(r,s){this._map=r;this._parentContainer=s;if(!this._container){this._container=document.createElement("div");this._container.style.position="absolute";this._container.style.zIndex=f.ZIndex.BALLOON;this._container.className="YMaps-balloon"}s.appendChild(this._container);if(this._layout){this.__addToParentContainer();this.__updatePosition()}else{this.update()}this.__mapMoveEndListener=l.observe(this._map,this._map.Events.MoveEnd,this._onMapMoveEnd,this);if(this._mapAutoPan){this.mapAutoPan()}};c._onMapMoveEnd=function(){if(this.__posInPixels){this.__updatePosition()}};c.onRemoveFromMap=function(){this._parentContainer.removeChild(this._container);this._parentContainer=this._map=null;if(this._autoPanTimeout){window.clearTimeout(this._autoPanTimeout)}if(this._layout){this._layout.onRemoveFromParent()}if(this.__mapMoveEndListener){this.__mapMoveEndListener.cleanup();this.__mapMoveEndListener=null}};c.mapAutoPan=function(B){if(this._map&&this._map._state){if(g.webkit&&this._container.offsetParent==document.body){var x=this;this._autoPanTimeout=window.setTimeout(function(){x._autoPanTimeout=null;x.mapAutoPan()},100);return}var t=this._map.converter,w=this._map.getContainerSize(),y=t.coordinatesToLocalPixels(this._point),u=this._margin,C=(this._layout.getSize?this._layout.getSize():i.size(this._container));if(this._layout.getOffset){y.moveBy(this._layout.getOffset())}var z=y.y-u[0],A=y.x+C.x+u[1],r=y.y+C.y+u[2],s=y.x-u[3],v=new h();if(s<=0){v.moveToX(-1*s)}else{if(A>w.x){v.moveToX(w.x-A)}}if(z<=0){v.moveToY(-1*z)}else{if(r>w.y){v.moveToY(w.y-r)}}if(v.x||v.y){this._map.moveBy(v.neg(),Math.abs(v.x)<3*w.x&&Math.abs(v.y)<3*w.y,{callback:B})}else{if(B){window.setTimeout(function(){B(f.State.SUCCESS)},0)}}}};new function(){var v=function(x,z,w){d.ABaseLayout.call(this,x,z);var y=this._$elements=q('<div class="YMaps-b-balloon-point">                <div class="YMaps-b-balloon YMaps-b-balloon_full YMaps-b-balloon_close-on">                    <div class="YMaps-b-balloon-wrap">                        <table class="YMaps-b-balloon-frame">                        <tr>                            <td class="YMaps-b-balloon-tl"><i class="YMaps-b-balloon-bit"><i></i></i></td>                            <td class="YMaps-b-balloon-t"><i class="YMaps-b-balloon-bit"><i></i></i></td>                            <td class="YMaps-b-balloon-tr"><i class="YMaps-b-balloon-bit"><i></i></i></td>                        </tr>                        <tr>                            <td class="YMaps-b-balloon-ml"></td>                            <td class="YMaps-b-balloon-m">                                <div class="YMaps-b-balloon-content"></div>                            </td>                            <td class="YMaps-b-balloon-mr"></td>                        </tr>                        <tr>                            <td class="YMaps-b-balloon-b" colspan="3">                                <i class="YMaps-b-balloon-corners">                                    <i class="YMaps-b-balloon-bit"><i></i></i>                                    <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_l"><i></i></i>                                    <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_r"><i></i></i>                                </i>                            </td>                        </tr>                        </table>                        <i class="YMaps-b-balloon-close" title="Закрыть"><i></i></i>                        <i class="YMaps-b-balloon-shad"><i></i></i>                    </div>                    <i class="YMaps-b-balloon-tail-full">                        <i class="YMaps-b-balloon-tail-top"><i></i></i>                        <i class="YMaps-b-balloon-tail-middle"><i></i></i>                        <i class="YMaps-b-balloon-tail-bottom"><i></i></i>                    </i>                </div>                </div>');this.__balloon=w;this._nodes={visContainer:y.find(".YMaps-b-balloon")[0],contentParent:y.find(".YMaps-b-balloon-m")[0],content:y.find(".YMaps-b-balloon-content")[0],$close:y.find(".YMaps-b-balloon-close"),$eventBlockNode:y.find(".YMaps-b-balloon-frame"),$shad:y.find(".YMaps-b-balloon-shad"),$tail:y.find(".YMaps-b-balloon-tail-full")};this._nodes.$eventBlockNode=this._nodes.$eventBlockNode.add(this._nodes.$tail).add(this._nodes.$close);this._nodes.$close[0].title=b.hints.balloon.close};var s=j(v,d.ABaseLayout),t="YMaps-balloon-content-overflow-hidden";s.onAddToParent=function(w){q(w).append(this._$elements);if(g.mozilla){this._ffObservers=[];var z;this._ffObservers.push(l.observe(this._map,this._map.Events.MoveStart,function(){if(!z){z=1;q(this._nodes.content).addClass(t)}},this));this._ffObservers.push(l.observe(this._map,this._map.Events.MoveEnd,function(){if(z){q(this._nodes.content).removeClass(t);z=0}},this))}q(this._nodes.content).bind("contextmenu",d.preventMapEvent);var A=this,x=this._nodes.$close[0],y=x.childNodes[0];this._nodes.$eventBlockNode.bind("click dblclick mouseup mousedown mousemove wheel",function(C){var B=C.target;if(C.type=="click"&&A._closeCallback&&(B==x||B==y)){A._closeCallback(C)}d.preventMapEvent(C)});this.update()};s.onRemoveFromParent=function(){if(this._ffObservers){o(this._ffObservers,"cleanup");this._ffObservers=null}q(this._nodes.content).unbind().removeClass(t);this._nodes.$eventBlockNode.unbind();this._$elements.removeFromDom()};s.DEFAULT_MAX_WIDTH=520;s.DEFAULT_MAX_HEIGHT=100;s.DEFAULT_WIDE_MIN_WIDTH=42;s.DEFAULT_TINY_MIN_WIDTH=58;s.DEFAULT_MIN_HEIGHT=15;var r;function u(){if(!r){var z=null,y=null,w=0,x=0;if(g.msie){z=q('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>');q("body").append(z);w=q("div",z).innerWidth();z.css("overflow-y","scroll");x=q("div",z).innerWidth();q(z).remove()}else{y=q('<div style="width:100%;height:200px;"></div>');z=q('<div style="position:absolute;top:-1000px;left:-1000px;width:100px;height:50px;overflow:hidden;"></div>').append(y).appendTo(document.body);w=y.width();z.css({overflow:"auto"});x=y.width();z.remove()}r=w-x}return r}s.update=function(){if(!this.__balloon||!this.__balloon._map||!this.__balloon._map._state){return}var A=this._nodes.visContainer,B=this._nodes.content,w=q(B),D,C,E=this._maxSize[0],F=this._maxSize[1],G=w.hasClass(t);if(G){w.removeClass(t)}i.size(A,10000);w.css({overflow:"auto",width:"auto",height:"auto"});if(g.ie8standard){w.css("overflow","visible")}if(g.opera){q(A).css("overflow","hidden")}if(!E||!F){var y=this._map.getContainerSize();if(!E){E=Math.max(this.DEFAULT_MAX_WIDTH,y.x-60)}if(!F){F=y.y>250?y.y-100:this.DEFAULT_MAX_HEIGHT}}if(!g.msie){w.css("maxWidth",E)}D=Math.max(B.scrollWidth,B.offsetWidth)>E;if(D&&g.msie){w.css("width",E)}if(F!=null){if(g.opera){w.css("overflow","hidden")}if(!g.msie){w.css("maxHeight",F)}C=Math.max(B.scrollHeight,B.offsetHeight)>F;if(C&&g.msie){w.css("height",F)}}if(D){if(g.opera){w.css("overflow","auto")}if(g.msie){var I=B.offsetHeight-B.clientHeight;w.css("height",B.offsetHeight+I)}}if(g.webkit&&(this._$elements[0].offsetParent==document.body)){var z=this;this._updateTimeout=window.setTimeout(function(){z._updateTimeout=null;z.update()},100);return}var x=i.size(B);if(q.os.name=="mac"&&q.browser.mozilla){x.x=Math.min(E,x.x+1)}x.y=Math.max(x.y,this.DEFAULT_MIN_HEIGHT);if(this._closeCallback){x.x=Math.max(x.x,this.DEFAULT_WIDE_MIN_WIDTH)}else{x.x=Math.max(x.x,this.DEFAULT_TINY_MIN_WIDTH)}if(g.ie8standard){if(D){x.y+=u()+1}if(C){x.x+=u()+1}}if(g.msie&&g.version<8){if(D){x.y++}if(C){x.x++}}w.css({width:x.x,height:x.y,overflow:D||C?"auto":"hidden"});var H=this._nodes.contentParent.offsetWidth-x.x;if(x.x+H<52){x.x=52-H;w.css("width",x.x)}if(G){w.addClass(t)}this._nodes.$shad[(x.y>50?"remove":"add")+"Class"]("YMaps-b-balloon-shad_short");if(g.opera){q(A).css("overflow","")}q(A).css({width:"",height:""});if(g.msie&&(g.version==6||((g.version>=7&&g.version<8)&&g.quirksMode))){i.fixIESize(this._nodes.$shad,"right",[-22,-21]);i.fixIESize(this._nodes.$shad,"bottom",[0,1]);i.fixIESize(this._nodes.$tail,"right",[14,15]);i.fixIESize(this._nodes.$tail,"bottom",[-38,-37])}if(g.msie&&(g.version<7||g.quirksMode)){q(this._nodes.content).addClass("YMaps-fake").removeClass("YMaps-fake")}};s.setMaxSize=function(x,w){this._maxSize=[x,w]};s.getOffset=function(){var w=this.getSize();return new h(45-w.x,1-w.y)};s.getSize=function(){return i.size(this._nodes.visContainer).moveByY(37)};s.enableClose=function(w){this._closeCallback=w;q(this._nodes.visContainer).addClass("YMaps-b-balloon_close-on")};s.disableClose=function(){if(this._closeCallback){this._closeCallback=null}q(this._nodes.visContainer).removeClass("YMaps-b-balloon_close-on")};s.setContent=function(w){this._setContent(w,this._nodes.content);if(w){var x=this;i.imagesOnLoad(this._nodes.content,function(){x.update()},function(y){if(y==0){x.update()}if(x.__balloon&&typeof x.__balloon.mapAutoPan=="function"&&x.__balloon.getOptions().mapAutoPan){x.__balloon.mapAutoPan()}})}};f.Templates.add("default#balloon",new f.LayoutTemplate(v))};n=f.Placemark=function(s,r){f.AInteractiveGeoObject.call(this,r);this.setGeoPoint(s);r=r||{};this.__draggable=!!r.draggable;this.__hideIcon=typeof r.hideIcon!=p?r.hideIcon:1;this.__actualHideIcon=this.__hideIcon;this._map=this._parentContainer=null;this.__iconEventListeners=[];this._interactive=typeof r.interactive!=p?r.interactive:f.Interactivity.INTERACTIVE;this.__eventsBound=false;this.__eventsInitialized=false;var t=this;this._onHintHide=function(){t._hintVisible=0};this._cursor=r.cursor;this._state={interactive:0,drag:0,hover:0,active:0};this._zIndexManager=new d.PlacemarkZIndexManager(this,r)};c=j(n,f.AInteractiveGeoObject);c.isPlacemark=1;c.__cursors={Default:f.Cursor.POINTER,Drag:f.Cursor.GRABBING};c._states={interactive:"Default",drag:"Drag",hover:"Hover",active:"Active",hidden:"Hidden"};c.Events={Click:"Click",DblClick:"DblClick",DragStart:"DragStart",Drag:"Drag",DragEnd:"DragEnd",MouseEnter:"MouseEnter",MouseLeave:"MouseLeave",MouseMove:"MouseMove",PositionChange:"PositionChange",BalloonOpen:"BalloonOpen",BalloonClose:"BalloonClose"};c.getMap=function(){return this._map};c.getParentContainer=function(){return this._parentContainer};c.onAddToMap=function(r,s){this._map=r;this._parentContainer=s;this._ensureContainers();if(this._$iconShadowContainer){this._$iconShadowContainer.appendTo(this._parentContainer);this._shadowContainerAdded=1}this._$iconContainer.appendTo(this._parentContainer);this._updateIcon(true);this.__updatePosition();if(this._interactive!=f.Interactivity.NONE){this.__addIconEventListeners()}this.__mapMoveEndListener=l.observe(this._map,this._map.Events.MoveEnd,this._onMapMoveEnd,this);this.__destructListener=l.observe(this._map,this._map.Events.Destruct,this._destruct,this);this._zIndexManager.enable()};c._destruct=c.onRemoveFromMap=function(){this.closeBalloon();this._hideHintIfVisible();if(this._interactive!=f.Interactivity.NONE){this.__removeIconEventListeners()}if(this.__mapMoveEndListener){this.__mapMoveEndListener.cleanup()}if(this.__isMouseOver){this._setState({hover:0});this.__isMouseOver=0}if(this._icon){this._icon.onRemoveFromParent()}if(this._$iconContainer){this._$iconContainer.removeFromDom()}if(this._iconShadow){this._iconShadow.onRemoveFromParent()}if(this._$iconShadowContainer){this._$iconShadowContainer.removeFromDom();this._shadowContainerAdded=0}this.__destructListener.cleanup();this.__destructListener=this.__mapMoveEndListener=this._map=this._parentContainer=null;this._zIndexManager.disable()};c.__updatePosition=function(r){if(this._parentContainer){if(this._point){this.__posInPixels=r||this._map.converter.coordinatesToMapPixels(this._point);var s=this.getComputedStyle().iconStyle;if(this._$iconContainer){i.position(this._$iconContainer[0],this.__posInPixels.copy().moveBy(this._icon.getOffset?this._icon.getOffset():s.offset))}if(this._$iconShadowContainer){i.position(this._$iconShadowContainer[0],this.__posInPixels.copy().moveBy(this._iconShadow.getOffset?this._iconShadow.getOffset():s.shadow.offset))}if(this._balloonVisible){this._map.getBalloon().setGeoPoint(this._point)}}else{throw"Placemark position point is not defined."}}};c.onMapUpdate=function(){this.__updatePosition()};c._onMapMoveEnd=function(){if(this.__posInPixels){var s=this.__posInPixels,r=this._map.converter.coordinatesToMapPixels(this._point);if(Math.abs(s.getX()-r.getX())>1||Math.abs(s.getY()-r.getY())>1){this.__updatePosition(r)}}};c.update=function(){f.AInteractiveGeoObject.prototype.update.call(this);this._ensureContainers();if(this._parentContainer){if(!this._balloonVisible||!this.__actualHideIcon){this._updateIcon()}if(this._$iconShadowContainer&&!this._shadowContainerAdded){this._$iconShadowContainer.prependTo(this._parentContainer);this._shadowContainerAdded=1}}this._updateHint();this._updateBalloon();this.__updatePosition()};c.setOptions=function(s,u){s=s||{};f.AInteractiveGeoObject.prototype.setOptions.call(this,s,u);var r=u?{draggable:0,hideIcon:1,interactive:f.Interactivity.INTERACTIVE,cursor:null}:this.getOptions();for(var t in s){r[t]=s[t]}if(this.__draggable&&!r.draggable){if(this.__mouseMove){this.__mouseMove.abort()}this._onMoveEnd()}this.__draggable=r.draggable;this.__hideIcon=r.hideIcon;if(this._interactive!=r.interactive){if(this._interactive==f.Interactivity.NONE){if(this._$iconContainer&&this._map){this.__addIconEventListeners()}}else{if(this.__eventsBound&&r.interactive==f.Interactivity.NONE){this.__removeIconEventListeners()}}if(this._$iconContainer){this._setState(r.interactive!=f.Interactivity.NONE?{interactive:1}:{interactive:0,drag:0,hover:0,active:0})}this._interactive=r.interactive}if(this._cursor!=r.cursor){if(r.interactive!=f.Interactivity.NONE){if(this.__isDragged){this.__cursorManager.removeCursor(this.__cursors.Drag)}this.__cursorManager.removeCursor(this.__cursor||this.__cursors.Default);this.__cursorManager.addCursor(r.cursor||this.__cursors.Default);if(this.__isDragged){this.__cursorManager.addCursor(this.__cursors.Drag)}}else{this.__cursorManager.removeCursor(this.__cursor||this.__cursors.Default)}this._cursor=r.cursor}this._zIndexManager.setOptions(r);l.notify(this,this.Events.OptionsChange,this)};c.getOptions=function(){var r=f.AInteractiveGeoObject.prototype.getOptions.call(this);r.draggable=this.__draggable;r.hideIcon=this.__hideIcon;r.interactive=this._interactive;r.cursor=this._cursor;q.extend(r,this._zIndexManager.getOptions());return r};c._ensureContainers=function(){if(!this._$iconContainer){this._$iconContainer=q("<div />").addClass("YMaps-placemark").css({"z-index":this._zIndexManager.getZIndex()});this.__cursorManager=new d.CursorManager(this._$iconContainer[0]);if(this._interactive!=f.Interactivity.NONE){this._setState({interactive:1})}}var r=this.getComputedStyle().iconStyle.shadow;if(!this._$iconShadowContainer&&r){this._$iconShadowContainer=q("<div />").addClass("YMaps-placemark-shadow").css({"z-index":this._zIndexManager.getShadowZIndex()})}if(this._$iconShadowContainer&&!r){this._$iconShadowContainer.removeFromDom();this._$iconShadowContainer=null;this._shadowContainerAdded=0}};c._updateIcon=function(w){var v=this.getComputedStyle().iconStyle,r=f.Templates.get(v.template),t=!this._icon;if(!r){r=f.Templates.get(f.AGeoObject.fullStyle.iconStyle.template)}if(this._icon&&this.__currentIconTemplate!=r){this._icon.onRemoveFromParent();t=true}if(t){this._icon=r.build(this,this._map,this);this._icon.onAddToParent(this._$iconContainer[0]);if(this._icon.setContent){this._icon.setContent(this._getIconContentLayout())}this.__currentIconTemplate=r}else{if(this._icon){if(w){this._icon.onAddToParent(this._$iconContainer[0])}if(this._icon.setContent){this._icon.setContent(this._getIconContentLayout())}this._icon.update()}}var u=v.shadow;if(u){var s=f.Templates.get(u.template);if(s){t=!this._iconShadow;if(this._iconShadow&&this.__currentIconShadowTemplate!=s){this._iconShadow.onRemoveFromParent();t=true}if(t){this._iconShadow=s.build(this,this._map,this);this._iconShadow.onAddToParent(this._$iconShadowContainer[0]);this.__currentIconShadowTemplate=s}else{if(this._iconShadow){if(w){this._iconShadow.onAddToParent(this._$iconShadowContainer[0])}this._iconShadow.update()}}}}else{if(this._iconShadow){this._iconShadow.onRemoveFromParent();this._iconShadow=null;this.__currentIconShadowTemplate=null}}};c._setState=function(s){for(var u in s){var r=this._states[u],t=s[u],v=this.__cursors[r];if(this._state[u]!=s[u]){this._state[u]=s[u];r="YMaps-"+r;if(u=="interactive"&&this._cursor){v=this._cursor}if(t){this._$iconContainer.addClass(r);if(v){this.__cursorManager.addCursor(v)}}else{this._$iconContainer.removeClass(r);if(v){this.__cursorManager.removeCursor(v)}}if(this._$iconShadowContainer&&u=="hidden"){if(t){this._$iconShadowContainer.addClass(r)}else{this._$iconShadowContainer.removeClass(r)}}}}};c.applyZIndex=function(r){if(this._$iconContainer){this._$iconContainer.css({"z-index":r})}};c.applyShadowZIndex=function(r){if(this._$iconShadowContainer){this._$iconShadowContainer.css({"z-index":r})}};c.setIconContent=function(r){this._iconCustomContent=r;this._iconCustomContentLayout=i.normalizeContent(r);this._iconContent=null;this._updateIconContent()};c._updateIconContent=function(){if(this._parentContainer){if(!this._balloonVisible||!this.__actualHideIcon){if(this._icon.setContent){this._icon.setContent(this._getIconContentLayout())}this._updateIcon();this.__updatePosition()}}};c._getIconContentLayout=function(){if(!this._iconContent){if(this._iconCustomContentLayout){this._iconContent=this._iconCustomContentLayout}else{var r=f.Templates.get(this.getComputedStyle().iconContentStyle.template);if(!r){r=f.Templates.get(f.AGeoObject.fullStyle.iconContentStyle.template)}this._iconContent=r.build(this,this._map,this)}}return this._iconContent};c.getIconContent=function(){return this._iconCustomContent};c.__createIconEventListeners=function(){var r=this._$iconContainer;this.__mouseMove=new i.DragAndDrop.MouseMove(r[0],0,b.tremor.placemark);this.__bindPlacemarkListeners();this.__mouseMove.beginListening();this.__iconEventListeners=[].concat(l.observe(this.__mouseMove,"start",this._onMoveStart,this),l.observe(this.__mouseMove,"move",this._onMove,this),l.observe(this.__mouseMove,"stop",this._onMoveEnd,this));this.__eventsBound=true};c.__bindPlacemarkListeners=function(){this._$iconContainer.bind("contextmenu.pl",function(r){d.preventMapEvent(r);r.preventDefault()}).bind("click.pl",m(this._onClick,this)).bind("mousemove.pl",m(this._onMouseMove,this)).bind("mouseout.pl",m(this._onMouseOut,this)).bind("mouseover.pl",m(this._onMouseOver,this)).bind("dblclick.pl",m(this._onDblClick,this))};c.__removeIconEventListeners=function(){if(this.__eventsBound){this.__mouseMove.stopListening();this._$iconContainer.unbind(".pl");o(this.__iconEventListeners,"disable");this.__eventsBound=false}};c.__addIconEventListeners=function(){if(!this.__eventsBound){if(this.__eventsInitialized){this.__mouseMove.beginListening();this.__bindPlacemarkListeners();o(this.__iconEventListeners,"enable");this.__eventsBound=true}else{this.__createIconEventListeners();this.__eventsInitialized=true}}};c._onDblClick=function(s){var r=new f.MouseEvent(s,this._map);if(this._interactive==f.Interactivity.INTERACTIVE){r.preventMapEvent()}l.notify(this,this.Events.DblClick,this,r)};c._onMoveStart=function(s){if(this.__draggable){this._setState({drag:1});var r=this.__dragMoveMapOptions.edge;this.__dragMoveMapBounds=new f.Bounds(new h(r,r),new h(this._map._state.size.x-r,this._map._state.size.y-r));this.__startMovePos=this._point.copy();this.__grabOffset=(new h(s.clientX,s.clientY)).diff(this._map.converter.coordinatesToClientPixels(this._point));this._hideHintIfVisible(0)}};c.__dragMoveMapOptions={edge:20,speed:10,maxSpeed:10};c.__dragMoveMapStop=function(){if(this.__dragMoveMapActive){this.__dragMoveMapActive=0;this.__getDragMoveMapListener().disable()}};c.__dragMoveMapTick=function(t,s){var r=this._map.converter.coordinatesToLocalPixels(this._point);r.moveBy(s);this._point.moveTo(this._map.converter.localPixelsToCoordinates(r,1));this.__updatePosition();l.notify(this,this.Events.Drag,this)};c.__getDragMoveMapListener=function(){return(this.__dragMoveMapListener=this.__dragMoveMapListener||f.Events.observe(this._map,this._map.Events.Move,this.__dragMoveMapTick,this))};c._onMove=function(u){if(this.__draggable){if(!this.__isDragged){this.__isDragged=1;this._hideHintIfVisible();l.notify(this,this.Events.DragStart,this)}this._point.moveTo(this._map.coordSystem.restrict(this._map.converter.clientPixelsToCoordinates((new h(u.clientX,u.clientY)).moveBy(this.__grabOffset),1)));this.__updatePosition();if(this._map.draggingEnabled()){if(this._map){var r=this._map.converter.coordinatesToLocalPixels(this._point);if(!this.__dragMoveMapBounds.contains(r)){var s=this.__dragMoveMapBounds;var t=new h(r.x<s.getLeft()?-1:(r.x>s.getRight()?1:0),r.y<s.getBottom()?-1:(r.y>s.getTop()?1:0));if(!this.__dragMoveMapActive||!this.__dragMoveMapOldDirection.equals(t)){var v=this;this.__dragMoveMapStartOptions=this.__dragMoveMapStartOptions||q.extend({callback:function(){v.__dragMoveMapStop()}},this.__dragMoveMapOptions);this._map.startMove(t,this.__dragMoveMapStartOptions);this.__getDragMoveMapListener().enable();this.__dragMoveMapActive=true;this.__dragMoveMapOldDirection=t}}else{if(this.__dragMoveMapActive){this._map.stopMove()}}}}l.notify(this,this.Events.Drag,this)}};c._onMoveEnd=function(){if(this.__draggable){this._setState({drag:0});if(this.__isDragged){if(this.__dragMoveMapActive){this._map.stopMove()}this.__stopMove()}}};c._onClick=function(s){var r=new f.MouseEvent(s,this._map);if(this._interactive==f.Interactivity.INTERACTIVE){r.preventMapEvent()}l.notify(this,this.Events.Click,this,r);if(this.getOptions().hasBalloon&&this._interactive==f.Interactivity.INTERACTIVE){if(this._balloonVisible){this.closeBalloon()}else{this.openBalloon()}}};c.__stopMove=function(){this.__isDragged=0;l.notify(this,this.Events.DragEnd,this);l.notify(this,this.Events.PositionChange,this,{oldPoint:this.__startMovePos,newPoint:this._point.copy()})};c._onMouseMove=function(s){var r=new f.MouseEvent(s,this._map);if(this._interactive==f.Interactivity.INTERACTIVE){r.preventMapEvent();this._mouseMoveAction(s)}l.notify(this,this.Events.MouseMove,this,r)};c._onMouseOver=function(r){if(!this.__isMouseOver&&(!r.relatedTarget||q(r.relatedTarget).parents().index(this._$iconContainer)==-1)){this.__isMouseOver=1;if(this._interactive==f.Interactivity.INTERACTIVE){this._setState({hover:1});if(this.getOptions().hasHint&&!this._balloonVisible&&!this.__isDragged){this._map.hint.show(this._map.converter.clientPixelsToLocalPixels(new h(r.clientX,r.clientY)),this._getHintContentLayout(),this._getComputedHintOptions());this._hintVisible=1}}l.notify(this,this.Events.MouseEnter,this,new f.MouseEvent(r,this._map))}};c._onMouseOut=function(r){if(this.__isMouseOver&&(!r.relatedTarget||q(r.relatedTarget).parents().index(this._$iconContainer)==-1)){this.__isMouseOver=0;if(this._interactive==f.Interactivity.INTERACTIVE){this._setState({hover:0});this._hideHintIfVisible()}l.notify(this,this.Events.MouseLeave,this,new f.MouseEvent(r,this._map))}};c._mouseMoveAction=function(r){if(this._hintVisible){this._map.hint.moveTo(this._map.converter.clientPixelsToLocalPixels(new h(r.clientX,r.clientY)))}};c.setHintContent=function(r){f.AInteractiveGeoObject.prototype.setHintContent.call(this,r);this._updateHint()};c.setHintOptions=function(r){f.AInteractiveGeoObject.prototype.setHintOptions.call(this,r);if(this._hintVisible){this._map.hint.setOptions(this._getComputedHintOptions())}};c._getComputedHintOptions=function(){var r=f.AInteractiveGeoObject.prototype._getComputedHintOptions.call(this,r);r.onHide=this._onHintHide;return r};c._updateHint=function(){if(this._hintVisible){this._map.hint.setOptions(this._getComputedHintOptions());this._map.hint.setContent(this._getHintContentLayout())}};c._hideHintIfVisible=function(r){if(this._hintVisible){this._map.hint.hide(r)}};c._updateBalloon=function(){if(this._balloonVisible){var r=this._map.getBalloon();r.setOptions(this._getComputedBalloonOptions(),1);r.setContent(this._getBalloonContentLayout())}};c.getBalloon=function(){return this._balloonVisible?this._map.getBalloon():null};c.openBalloon=function(u,s){f.AInteractiveGeoObject.prototype.openBalloon.call(this,u,s);if(this._map){if(this._balloonVisible){this.closeBalloon()}this._hideHintIfVisible();var w=this,r={},v=this._getComputedBalloonOptions();for(var t in v){r[t]=v[t]}r.onClose=function(){if(v.onClose){v.onClose()}w._onCloseBalloon()};if(this.__hideIcon){this._setState({hidden:1,hover:0})}else{this._setState({active:1})}this.__actualHideIcon=this.__hideIcon;this._balloonVisible=1;this._map.openBalloon(this._point,this._getBalloonContentLayout(),r);l.notify(this,this.Events.BalloonOpen,this)}};c.closeBalloon=function(){f.AInteractiveGeoObject.prototype.closeBalloon.call(this);if(this._balloonVisible){this._map.closeBalloon()}};c.setBalloonOptions=function(r){f.AInteractiveGeoObject.prototype.setBalloonOptions.call(this,r);if(this._balloonVisible){this._map.getBalloon().setOptions(this._getComputedBalloonOptions(),1)}};c._onCloseBalloon=function(){this._balloonVisible=0;if(this.__actualHideIcon){this._setState({hidden:0})}else{this._setState({active:0})}this._updateIcon();this.__updatePosition();l.notify(this,this.Events.BalloonClose,this)};c.setBalloonContent=function(r){f.AInteractiveGeoObject.prototype.setBalloonContent.call(this,r);this._updateBalloon()};c.setCoordPoint=function(s){var r=this._point||s;this._point=s.copy();this.__updatePosition();l.notify(this,this.Events.PositionChange,this,{oldPoint:r,newPoint:s})};c.setGeoPoint=c.setCoordPoint;c.getCoordPoint=function(){return this._point};c.getGeoPoint=c.getCoordPoint;d.PlacemarkZIndexManager=n=function(s,r){this._placemark=s;this._zIndexes={};this._interactiveObservers=[];this.resetState();this.setOptions(r)};c=n.prototype;c.zIndexPriority=["Active","Drag","Hover","Default"];c.zIndexes={Default:{defaultState:1,defaultValue:f.ZIndex.OVERLAY,optionName:"zIndex"},Active:{defaultState:0,defaultValue:f.ZIndex.OVERLAY_ACTIVE,optionName:"zIndexActive"},Drag:{defaultState:0,defaultValue:f.ZIndex.OVERLAY_DRAG,optionName:"zIndexDrag"},Hover:{defaultState:0,defaultValue:f.ZIndex.OVERLAY_HOVER,optionName:"zIndexHover"},Shadow:{defaultValue:f.ZIndex.OVERLAY_SHADOW,optionName:"zIndexShadow"}};c.resetState=function(){this._zIndexState={};for(var r in this.zIndexes){this._zIndexState[r]=this.zIndexes[r].defaultState}};c.enable=function(){this._enabled=true;var r=this._placemark;this.resetState();if(!this._inited){this._interactiveObservers=[l.observe(r,r.Events.BalloonOpen,function(){this._zIndexState.Active=1;this.applyZIndex()},this,false),l.observe(r,r.Events.BalloonClose,function(){this._zIndexState.Active=0;this.applyZIndex()},this,false),l.observe(r,r.Events.MouseEnter,function(){this._zIndexState.Hover=1;this.applyZIndex()},this,false),l.observe(r,r.Events.MouseLeave,function(){this._zIndexState.Hover=0;this.applyZIndex()},this,false),l.observe(r,r.Events.DragStart,function(){this._zIndexState.Drag=1;this.applyZIndex()},this,false),l.observe(r,r.Events.DragEnd,function(){this._zIndexState.Drag=0;this.applyZIndex()},this,false)];this._inited=true;this.setOptions(r.getOptions())}if(this._interactive){o(this._interactiveObservers,"enable")}};c.disable=function(){this._enabled=false;o(this._interactiveObservers,"disable")};c.setOptions=function(r){var u=false,t;for(var s in this.zIndexes){t=this.zIndexes[s].optionName;if(this._zIndexes[s]===undefined||this._zIndexes[s]!=r[t]){u=true;this._zIndexes[s]=r[t]!==undefined?r[t]:this.zIndexes[s].defaultValue}}if(r.interactive!=f.Interactivity.INTERACTIVE){if(this._interactive){u=true}this._interactive=false;if(this._enabled){o(this._interactiveObservers,"disable")}}else{if(!this._interactive){this.resetState();u=true}if(this._enabled){o(this._interactiveObservers,"enable")}this._interactive=true}if(u){this.applyZIndex()}};c.getOptions=function(){var r={},t;for(var s in this.zIndexes){t=this.zIndexes[s].optionName;r[t]=this._zIndexes[s]}return r};c.getZIndex=function(){for(var s=0,r=this.zIndexPriority.length,t;s<r;s++){t=this.zIndexPriority[s];if(this._zIndexState[t]){return this._zIndexes[t]}}};c.getShadowZIndex=function(){return this._zIndexes.Shadow};c.applyZIndex=function(){this._placemark.applyZIndex(this.getZIndex());this._placemark.applyShadowZIndex(this.getShadowZIndex())};new function(){var v=790,w=g.msie&&g.quirksMode?26:13,y=13;var A=function(s,H){var F=function(J,L){d.ABaseLayout.call(this,J,L);var K=this._$elements=q('<div class="YMaps-b-balloon-point">                <div class="YMaps-b-balloon YMaps-b-balloon_small YMaps-b-balloon_'+H+'">                    <div class="YMaps-b-balloon-wrap">                        <table class="YMaps-b-balloon-frame">                        <tr>                            <td class="YMaps-b-balloon-tl"><i class="YMaps-b-balloon-bit"><i></i></i></td>                            <td class="YMaps-b-balloon-t"><i class="YMaps-b-balloon-bit"><i></i></i></td>                            <td class="YMaps-b-balloon-tr"><i class="YMaps-b-balloon-bit"><i></i></i></td>                        </tr>                        <tr>                            <td class="YMaps-b-balloon-ml"></td>                            <td class="YMaps-b-balloon-m">                                <div class="YMaps-b-balloon-content"></div>                            </td>                            <td class="YMaps-b-balloon-mr"></td>                        </tr>                        <tr>                            <td class="YMaps-b-balloon-b" colspan="3">                                <i class="YMaps-b-balloon-corners">                                    <i class="YMaps-b-balloon-bit"><i></i></i>                                    <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_l"><i></i></i>                                    <i class="YMaps-b-balloon-bit YMaps-b-balloon-bit_r"><i></i></i>                                </i>                            </td>                        </tr>                        </table>                        <i class="YMaps-b-balloon-shad"><i></i></i>                    </div>                    <i class="YMaps-b-balloon-tail"><i></i></i>                </div></div>');this._nodes={visContainer:K.find(".YMaps-b-balloon"),content:K.find(".YMaps-b-balloon-content"),shad:K.find(".YMaps-b-balloon-shad"),tail:K.find(".YMaps-b-balloon-tail")}};c=j(F,d.ABaseLayout);c.onAddToParent=function(J){d.ABaseLayout.prototype.onAddToParent.call(this,J);this.update()};c.update=function(){var M=this._nodes.visContainer;M.css({visibility:"hidden",width:v});if(g.opera){M.css("overflow","hidden")}this._nodes.content.css({overflow:"",width:"auto",height:"auto"});var J=i.size(this._nodes.content);if(q.os.name=="mac"&&q.browser.mozilla){J.x++}if(g.msie){var N=new h(),L=this._nodes.content[0],K=function(){N[this[0]]+=(parseFloat(q.curCSS(L,"padding"+this[1],true))||0)+(parseFloat(q.curCSS(L,"border"+this[1]+"Width",true))||0)};q.each([["y","Top"],["x","Right"],["y","Bottom"],["x","Left"]],K);J.moveBy(N)}i.size(this._nodes.content[0],new h(Math.min(v,Math.max(w,J.x)),Math.max(y,J.y)));this._nodes.content.css("overflow","hidden");if(g.opera){M.css("overflow","")}M.css({width:"",visibility:""});if(g.msie&&(g.version==6||((g.version>=7&&g.version<8)&&document.compatMode=="BackCompat"))){i.fixIESize(this._nodes.shad,"right",[-6,-5]);i.fixIESize(this._nodes.shad,"bottom",[-1,0]);i.fixIESize(this._nodes.tail,"bottom",[-13,-12]);i.fixIESize(this._nodes.tail,"right",[-1,0])}};c.setContent=function(J){this._setContent(J,this._nodes.content);var K=this;i.imagesOnLoad(this._nodes.content,function(){K.update()},function(L){if(L==0){K.update()}})};c.getOffset=function(){return new h(0,0)};var G=function(J,K){this._context=J;this._map=K;this._content=null;this._parentNode=null};c=G.prototype;c.onAddToParent=function(J){this._parentNode=J;this._getLayout().onAddToParent(J)};c.onRemoveFromParent=function(){this._parentNode=null;this._getLayout().onRemoveFromParent()};c.update=function(){this._getLayout().update()};c.setContent=function(L){if(this._content!=L){var J=this._parentNode,K=this._content;this._content=L;if(!K!=!L){if(J){this._getLayout().onRemoveFromParent()}this._currentLayout=null;this._getLayout();if(L){this._currentLayout.setContent(L)}if(J){this._currentLayout.onAddToParent(this._parentNode)}}else{this._currentLayout.setContent(L)}}};c._getLayout=function(){if(!this._currentLayout){if(this._content){this._currentLayout=new F(this._context,this._map)}else{this._currentLayout=new t(this._context,this._map)}}return this._currentLayout};c.getOffset=function(){return this._currentLayout.getOffset()};var I=new f.LayoutTemplate(G);f.Templates.add("default#"+s+"PointIcon",I);return I};A("white","white");A("green","green");A("red","red");A("yellow","yellow");A("darkblue","blue-d");A("night","night");A("grey","grey");A("blue","blue");A("orange","orange");A("darkorange","orange-d");A("pink","pink");A("violet","violet");f.Templates.add("default#icon",A("lightblue","blue-l"));var t=function(s,G){d.ABaseLayout.call(this,s,G);var F=this.__getStyleData();this._$elements=q(g.msie&&g.version<7?"<div />":"<img />")};c=j(t,d.ABaseLayout);c.__getStyleData=function(){return this._context.getComputedStyle().iconStyle};c.onAddToParent=function(s){d.ABaseLayout.prototype.onAddToParent.call(this,s);this.update()};c.update=function(){var s=this.__getStyleData();if(g.msie&&g.version<7){this._$elements.css({filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+(s&&s.href)+"', sizingMethod='scale')","line-height":"0px"})}else{this._$elements[0].src=s&&s.href}if(s.size){i.size(this._$elements[0],s.size)}};c.setContent=i.NULL;c.getOffset=function(){return this.__getStyleData().offset||new h(0,0)};var B=function(){t.apply(this,arguments)};c=j(B,t);c.__getStyleData=function(){return this._context.getComputedStyle().iconStyle.shadow};f.Templates.add("default#iconShadow",new f.LayoutTemplate(B));var D=["airplane.png","anchor.png","arrowDownLeft.png","arrowDownRight.png","arrowLeft.png","arrowRight.png","arrowUp.png","attention.png","badminton.png","bank.png","bar.png","barberShop.png","bicycle.png","bowling.png","buildings.png","bus.png","cafe.png","camping.png","car.png","cellular.png","cinema.png","downhillSkiing.png","dps.png","dryCleaner.png","electricTrain.png","factory.png","fishing.png","gasStation.png","gym.png","hospital.png","house.png","keyMaster.png","mailPost.png","metroKiev.png","metroMoscow.png","metroStPetersburg.png","metroYekaterinburg.png","motobike.png","mushroom.png","phone.png","photographer.png","pingPong.png","restauraunt.png","ship.png","shop.png","skating.png","skiing.png","smartphone.png","stadium.png","storehouse.png","swimming.png","tailorShop.png","teather.png","tennis.png","theater.png","tire.png","train.png","tramway.png","trolleybus.png","truck.png","turnLeft.png","turnRight.png","wifi.png","wifiLogo.png","workshop.png"],r=new f.Point(-10,-25),z=new f.Point(27,26),C=new f.LayoutTemplate(t);for(var x=0,u=D.length;x<u;x++){var E=new f.Style(null);E.iconStyle={offset:r,size:z,shadow:null,href:b.imageRoot+"icons/"+D[x],template:C};f.Styles.add("default#"+D[x].replace(".png","Icon"),E)}};f.ObjectManager=function(K){K=K||{};var N,x=typeof K.cellSize!=p?Number(K.cellSize):256,Z=typeof K.padding!=p?Number(K.padding):100,S=typeof K.trackObjects==p?true:!!K.trackObjects,r,H=0,X,P=[],L=[],T={},y={},B={},O=[],D=[],R=[],ad;this.onAddToMap=function(ag){N=ag;r=N.getZoom();var ah,af;if(!P[r]){w(r)}else{for(ah=0,af=O.length;ah<af;ah++){Y.apply(this,O[ah])}}O=[];X=u();if(ad){ad.cleanup()}ad=l.observe(N,N.Events.MoveEnd,this.onMapUpdate,this);U(X,E);for(ah=0,af=D.length;ah<af;ah++){this.remove(D[ah])}D=[];for(ah=0,af=R.length;ah<af;ah++){aa.apply(this,R[ah])}R=[]};this.onRemoveFromMap=function(){if(N){U(X,ae);if(ad){ad.cleanup()}N=ad=null}};function w(an){P[an]=[];L[an]=Math.ceil((256<<an)/x);for(var am in T){if(T.hasOwnProperty(am)&&am>=an){var ah=T[am],ak,aj,af=Math.min(an+1,ah.length),al;for(ak=0;ak<af;ak++){if(ah[ak]){for(aj=0,al=ah[ak].length;aj<al;aj++){var ai=ah[ak][aj],ag=M(ai.getGeoPoint(),an);J(ag.x,ag.y,an).push(ai)}}}}}}this.removeAll=function(){if(N){U(X,ae)}P=[];L=[];T={};B={};ab(y,"cleanup");y={};this._update()};function u(){return v(N.getBounds(),r,Z)}function v(af,am,ak){var al=af.getLeftBottom(),ai=af.getRightTop(),ag=M(al,am,(new h(-ak,ak))),ah=M(ai,am,(new h(ak,-ak))),aj=L[am];if(ai.getX()<al.getX()||ah.x<ag.x){ag.x-=aj}if(ah.x-ag.x+1>=aj){ag.x=0;ah.x=aj-1}var an=new f.Bounds(ag,ah);an.zoom=am;return an}function M(af,ah,ai){var ag=N.tileCoordinates.scale(N.coordSystem.fromCoordPoint(af),N.coordSystem.getMaxZoom(),ah);ai=ai||new h();return new h(Math.floor((ag.x+ai.x)/x),Math.floor((ag.y+ai.y)/x))}this.add=function(ai,al,ag){if(ai){ag=typeof ag==p?Infinity:Number(ag);al=typeof al==p?0:Math.min(Number(al),ag);W(ai,al,ag);var ak=[].concat(ai),aj,af;for(aj=0,af=ak.length;aj<af;aj++){Y(ak[aj],al,ag)}if(N){if(ak.length>10&&!H){U(X,E)}else{for(aj=0,af=ak.length;aj<af;aj++){var ah=M(ak[aj].getGeoPoint(),r);if(G(ah)&&X.zoom>=al&&X.zoom<=ag){E(ak[aj])}}}}}};function W(ag,ah,af){q.each([].concat(ag),function(aj,ai){var ak=i.getUniqueId(ai);if(S){y[ak]=l.observe(ai,ai.Events.PositionChange,Q)}B[ak]=[af,ah]});if(!T[af]){T[af]=[]}T[af][ah]=(T[af][ah]||[]).concat(ag)}function Y(ah,aj,af){if(N){var ai=Math.min(af,P.length-1),ag=M(ah.getGeoPoint(),ai);for(;ai>=aj;ai--){if(P[ai]){J(ag.x,ag.y,ai).push(ah)}ag.x=ag.x>>1;ag.y=ag.y>>1}}else{O.push([ah,aj,af])}}this.remove=function(ai){if(ai instanceof Array){for(var aj=0,ah=ai.length;aj<ah;aj++){this.remove(ai[aj])}return}if(N){C(ai);var ak=P.length-1,ag=M(ai.getGeoPoint(),ak),af;while(ak>=0){if(P[ak]){af=I(ag.x,ag.y,ak);if(af){z(af,ai)}if(ak==r&&N){if(G(ag)){ae(ai)}}}ag.x=ag.x>>1;ag.y=ag.y>>1;--ak}}else{D.push(ai)}};function C(ah){var ak=i.getUniqueId(ah),ai=y[ak],aj=B[ak],af=T[aj[0]][aj[1]],ag=q.inArray(ah,af);if(ai){ai.cleanup()}if(ag!=-1){af.splice(ag,1)}delete y[ak];delete B[ak]}function G(af){var aj=X.getLeftTop(),ah=X.getRightBottom(),ai=aj.y<=af.y&&af.y<=ah.y,ag=aj.x<=af.x&&af.x<=ah.x;if(!ag&&aj.x<0){var ak=L[X.zoom];ag=aj.x+ak<=af.x&&af.x<=ak-1}return ai&&ag}function Q(ag,af){aa(ag,af.oldPoint,af.newPoint)}function aa(ai,al,ag){if(N){var ak=P.length-1,aj=M(al,ak),ah=M(ag,ak),af;while(ak>=0&&(aj.x!=ah.x||aj.y!=ah.y)){if(P[ak]){af=I(aj.x,aj.y,ak);if(af){if(z(af,ai)){J(ah.x,ah.y,ak).push(ai)}}if(ak==r){if(G(aj)){if(!G(ah)){ae(ai)}}else{if(G(ah)){E(ai)}}}}aj.x=aj.x>>1;aj.y=aj.y>>1;ah.x=ah.x>>1;ah.y=ah.y>>1;--ak}}else{R.push([ai,al,ag])}}function J(af,aj,ai){if(af<0){af+=L[ai]}var ah=P[ai],ag=ah[af];if(!ag){return((ah[af]=[])[aj]=[])}return ag[aj]||(ag[aj]=[])}this.onMapUpdate=function(){setTimeout(this._update,0)};this._update=function(){if(N){r=N.getZoom();if(!P[r]){w(r)}var af=u(),ak=af.zoom;if(ak!=X.zoom){var al=[],am=[],ah=ac(al),ai=ac(am);U(X,ah);U(af,ai);for(var aj=al.length-1;aj>=0;aj--){var an=al[aj],ag=q.inArray(an,am);if(ag==-1){ae(an)}else{am.splice(ag,1)}}for(var aj=am.length-1;aj>=0;aj--){E(am[aj])}}else{if(!af.equals(X)){A(X,af,s);A(af,X,t)}}X=af}};function ac(af){return function(ag){af.push(ag)}}function U(ag,ak){for(var af=ag.getLeft(),aj=ag.getRight();af<=aj;af++){for(var ai=ag.getTop(),ah=ag.getBottom();ai<=ah;ai++){V(af,ai,ag.zoom,ak)}}}function s(af,ah,ag){V(af,ah,ag,ae)}function t(af,ah,ag){V(af,ah,ag,E)}function V(ag,ak,ai,aj){var af=I(ag,ak,ai);if(af){for(var ah=af.length-1;ah>=0;ah--){aj.call(this,af[ah])}}}function A(ag,af,ah){F(ag,af,function(ai,aj){ah.apply(null,[ai,aj,ag.zoom])})}function F(ag,af,aq){var ak=ag.getLeft(),ar=ag.getTop(),am=ag.getRight(),ai=ag.getBottom(),aj=af.getLeft(),ap=af.getTop(),al=af.getRight(),ah=af.getBottom(),ao,an;for(ao=ak;ao<=am;ao++){for(an=ar;an<=ai&&an<ap;an++){aq(ao,an)}for(an=Math.max(ah+1,ar);an<=ai;an++){aq(ao,an)}}for(an=Math.max(ar,ap);an<=Math.min(ai,ah);an++){for(ao=Math.min(am+1,aj)-1;ao>=ak;ao--){aq(ao,an)}for(ao=Math.max(ak,al+1);ao<=am;ao++){aq(ao,an)}}}function I(af,ah,ag){if(P[ag]){if(af<0){af+=L[ag]}return P[ag][af]?P[ag][af][ah]||null:null}return null}function ae(af){N.removeOverlay(af);H--}function E(af){N.addOverlay(af);H++}function z(af,ai){var ag=0;for(var ah=0;ah<af.length;++ah){if(af[ah]===ai){af.splice(ah--,1);ag++}}return ag}function ab(ag,af){for(var ah in ag){if(ag.hasOwnProperty(ah)){ag[ah][af]()}}}};n=f.GeoObjectCollection=function(r){f.OverlayGroup.call(this);f.AGeoObject.call(this);this._style=r};c=j(n,f.OverlayGroup);q.extend(false,n,f.AGeoObject);q.extend(true,n.prototype,f.AGeoObject.prototype);c._onAddObject=function(s,r){s.onAddToGroup(this);f.OverlayGroup.prototype._onAddObject.call(this,s,r)};c._onRemoveObject=function(s,r){f.OverlayGroup.prototype._onRemoveObject.call(this,s,r);s.onRemoveFromGroup(this)};c.update=function(){f.AGeoObject.prototype.update.call(this);o(this._objects.slice(),"update")};(function(){var r=new function(){var u=d.MapData.versionPath+"xml/Geocoder/Geocoder.xml?key="+d.MapData.userKey;this.load=function(w,y,x){q.ajax({url:v(w),dataType:"jsonp",scriptCharset:"utf-8",cache:1,success:function(z){y.call(x,z)}})};function v(x){var w=[u],z=x.boundedBy;if(z){x.ll=z.getCenter().toString();x.spn=z.getSpan().toString(6);delete x.boundedBy}if(x.prefLang){x.plng=x.prefLang;delete x.prefLang}if(x.strictBounds){x.rspn=1;delete x.strictBounds}for(var y in x){w.push(y+"="+encodeURIComponent(x[y]))}return w.join("&")}};n=f.Geocoder=function(v,u){v=String(v);f.GeoObjectCollection.call(this);this.setStyle("geocoder#result");this.request=v;this.suggest=null;this.found=0;this.prefLang=(u&&u.prefLang)||null;if(v){u=q.extend({},u);u.geocode=v+"";r.load(u,this.__onLoaded,this)}else{this.__onLoaded({objects:[]})}};c=j(n,f.GeoObjectCollection);c.Events.Load="Load";c.Events.Fault="Fault";c.__onLoaded=function(u){if(u.error){l.notifyPermanent(this,this.Events.Fault,this,u.error.message)}else{this.suggest=u.suggest||null;this.add(u.objects);this.found=u.found||this.length();l.notifyPermanent(this,this.Events.Load,this)}};var t=new f.Style();t.balloonContentStyle={template:"geocoder#template"};f.Styles.add("geocoder#result",t);var s=new f.Template("<div>$[text]</div>");f.Templates.add("geocoder#template",s);n=f.GeocoderResult=function(u,v){f.Placemark.call(this,u,v);this.kind="";this.text="";this.precision="";this.AddressDetails=null};j(n,f.Placemark)})();(function(){function u(w){var y=d.MapData.versionPath+w+"?key="+d.MapData.userKey+"&url=",x=/^[a-zA-Z]+:\/\//;this.loadDocument=function(z,B,A){if(!x.test(z)){z="http://"+z}q.ajax({url:y+encodeURIComponent(z),dataType:"jsonp",scriptCharset:"utf-8",cache:1,success:function(C){v(C,B,A)}})};function v(A,G,E){if(A.data){var B=A.url,F=A.data.Styles,D=A.data.Templates,C,z;for(C=0,z=F.length;C<z;C++){f.Styles.add(B+"#"+F[C].id,F[C].s)}for(C=0,z=D.length;C<z;C++){f.Templates.add(B+"#"+D[C].id,D[C].t)}}G.call(E,A)}}var r=new u("xml/geoxml/kml/kml.xml");f.KML=function(v){f.GeoObjectCollection.call(this);r.loadDocument(v,this.__onLoaded,this)};c=j(f.KML,f.GeoObjectCollection);c.Events.Load="Load";c.Events.Fault="Fault";c.__onLoaded=function(v){if(v.error){l.notifyPermanent(this,this.Events.Fault,this,v.error)}else{this.add(v.data.Objects);l.notifyPermanent(this,this.Events.Load,this)}};var s=new u("xml/geoxml/gpx/gpx.xml");f.GPX=function(w,v){f.GeoObjectCollection.call(this);this._options=q.extend({},{viewAutoApply:1},v);s.loadDocument(w,this.__onLoaded,this)};c=j(f.GPX,f.GeoObjectCollection);c.Events.Load="Load";c.Events.Fault="Fault";c.__onLoaded=function(v){if(v.error){l.notifyPermanent(this,this.Events.Fault,this,v.error)}else{this.add(v.data.Objects);this.view=v.data.View;if(this._options.viewAutoApply){this.applyView()}l.notifyPermanent(this,this.Events.Load,this)}};c.onAddToMap=function(v,w){f.GeoObjectCollection.prototype.onAddToMap.call(this,v,w);if(this._options.viewAutoApply){this.applyView()}};c.applyView=function(){if(this.getMap()&&this.view&&this.view.boundedBy){this.getMap().setBounds(this.view.boundedBy)}};var t=new u("xml/geoxml/ymapsml/ymapsml.xml");f.YMapsML=function(w,v){f.GeoObjectCollection.call(this);this._options=q.extend({},{viewAutoApply:1},v);t.loadDocument(w,this.__onLoaded,this)};c=j(f.YMapsML,f.GeoObjectCollection);c.Events.Load="Load";c.Events.Fault="Fault";c.__onLoaded=function(v){if(v.error){l.notifyPermanent(this,this.Events.Fault,this,v.error)}else{this.add(v.data.Objects);this.view=v.data.View;if(this._options.viewAutoApply){this.applyView()}l.notifyPermanent(this,this.Events.Load,this)}};c.onAddToMap=function(v,w){f.GeoObjectCollection.prototype.onAddToMap.call(this,v,w);if(this._options.viewAutoApply){this.applyView()}};c.applyView=function(){var v=this.getMap();if(v&&this.view){if(this.view.mapType){v.setType(f.MapType[this.view.mapType])}if(this.view.boundedBy){v.setBounds(this.view.boundedBy)}}}})();(function(){var H=d.Graphics=new function(){var ay=[];this.getContainer=function(aE,aD){var aB,aA;aE=aE||u;for(var aC=0,az=ay.length;aC<az;aC++){aB=ay[aC];if(aB.map==aD&&aB.container instanceof aE){aA=aB.container;break}}if(!aA){aA=new aE();ay.push({map:aD,container:aA})}if(!aA.getMap()){aD.addOverlay(aA,1)}return aA}},s=1000000,v=1,ae=0,z=g.msie&&g.version>5.4,ad=0;if(!z){var O=g.webkit&&g.version>523.15,C=g.mozilla&&g.version>=1.8,t=g.opera&&g.version>=9.5;if(!g.msie&&(O||C||t)){ae=1}else{ad=1}}H.SVG=ae;H.VML=z;H.SSG=ad;var an=new (function(){this.renderCoords=function(aO,aR,aD){var aI=[],aS=aR.coordSystem,aQ=aR._state.centerInTiles;if(aO&&aO.length){for(var aP=0,aM=aO.length,aJ;aP<aM;aP++){aJ=aI[aP-1];aI.push(aS.fromCoordPoint(aS.restrict(aO[aP]),aJ?aS.toCoordPoint(aJ,1):null))}var aG=new f.CollectionBounds(aI),aE=aQ,aC=aG.getCenter();if(aD.prevPixelBounds){var aF=ay(aD.prevPixelBounds),aN=aA(aF,aQ);aC=ay(aG)[aN];aE=aF[aN]}var aB=aS.fromCoordPoint(aS.toCoordPoint(aC),aS.toCoordPoint(aE,1)),aL=az(aO[0],aC.diff(aB),aR),aT=aG.getCenter().moveBy(aL).diff(aQ),aK=aS.getWorldSize(),aU=new h(Math.ceil(aG.getSpan().getX()/aK.getX())||1,Math.ceil(aG.getSpan().getY()/aK.getY())||1),aH=new h(aT.getX()/aK.getX()/aU.getX(),aT.getY()/aK.getY()/aU.getY()).apply(Math.round);if(aH.getX()||aH.getY()){aL.moveBy(az(aO[0],aH.scale(aU.scale(aK)),aR))}if(aL.getX()||aL.getY()){q.each(aI,function(aW,aV){aV.moveBy(aL)});aG=new f.CollectionBounds(aI)}aD.prevPixelBounds=aG}return aI};function aA(aD,aC){var aB,aE=Infinity;q.map(aD,function(aF,aG){var aH=aC.diff(aF).length();if(aH<aE){aE=aH;aB=aG}});return aB}function ay(aB){return[aB.getLeftBottom(),aB.getLeftTop(),aB.getCenter(),aB.getRightBottom(),aB.getRightTop()]}function az(aB,aG,aE){var aC=aE.coordSystem,aD=aC.restrict(aB),aF=aC.fromCoordPoint(aD);return aF.diff(aC.fromCoordPoint(aD,aC.toCoordPoint(aF.copy().moveBy(aG),1)))}})();var aa=function(){this._map=null;this._$container=q("<div />").css({position:"absolute",width:0,height:0,zIndex:0});this.hide();this._size=null;this._position=null;this._delta=null;this._shift=new h(0,0);this._graphics=[]};c=aa.prototype;c.Events={Update:"Update"};c.onAddToMap=function(az,ay){this._map=az;this._$container.appendTo(ay);this._moveEndListener=f.Events.observe(az,az.Events.MoveEnd,this.onMapMoveEnd,this,1);this._smoothZoomListeners=[f.Events.observe(az,az.Events.SmoothZoomStart,this.hide,this,1),f.Events.observe(az,az.Events.SmoothZoomEnd,this.show,this,1)];this.update()};c.onRemoveFromMap=function(){this._moveEndListener.cleanup();o(this._smoothZoomListeners,"cleanup");this._$container.removeFromDom();this._map=this._moveEndListener=this._smoothZoomListeners=null};c.getMap=function(){return this._map};c.getSize=function(){return this._size};c.getDelta=function(){return this._shift.diff(this._delta)};c.getPosition=function(){return this._position};c.update=function(){var az=this._map.getContainerSize(),ay=this._map.converter.localPixelsToMapPixels(new h(0,0));this._shift=new h(0,0);this.__mapCenter=this._map.getCenter(1);this._delta=az.copy().scale(v);this._position=this._delta.diff(ay);this._size=az.moveBy(this._delta.copy().scale(2));i.position(this._$container[0],this._position)};c.show=function(){this._$container.removeClass("YMaps-display-none")};c.hide=function(){this._$container.addClass("YMaps-display-none")};c.onMapMoveEnd=function(){var az=this._map.converter,aB=this._map.getCenter(1),aA=az.coordinatesToLocalPixels(aB,1).diff(az.coordinatesToLocalPixels(this.__mapCenter,1)),ay=aA.copy().apply(Math.abs);if(ay.getX()>this._delta.getX()/2||ay.getY()>this._delta.getY()/2){this.onMapUpdate()}else{this._shift=aA}};c.onMapUpdate=function(){this.update();l.notify(this,this.Events.Update,this)};c.add=function(ay){if(!this._graphics.length){this.show()}this._graphics.push(ay)};c.remove=function(ay){var az=q.inArray(ay,this._graphics);if(az!=-1){this._graphics.splice(az,1)}if(!this._graphics.length){this.hide()}};c.destructor=function(){if(this._map){this.onRemoveFromMap()}this._$container=null};var ak=function(){this.styles={};this._interactive=f.Interactivity.NONE;var ay=this;this._eventHandlers={DblClick:function(){ay._dblClick.apply(ay,arguments)},Click:function(){ay._click.apply(ay,arguments)},MouseEnter:function(){ay._mouseEnter.apply(ay,arguments)},MouseLeave:function(){ay._mouseLeave.apply(ay,arguments)},MouseMove:function(){ay._mouseMove.apply(ay,arguments)}}};c=ak.prototype;c.Events={DblClick:"DblClick",Click:"Click",MouseEnter:"MouseEnter",MouseLeave:"MouseLeave",MouseMove:"MouseMove"};c.getMap=function(){return this._map};c.onAddToMap=function(ay){this._map=ay;this._container=H.getContainer(this._containerClass,ay);if(this._interactive!=f.Interactivity.NONE){this._createListeners()}};c.onRemoveFromMap=function(){if(this._map){if(this._interactive!=f.Interactivity.NONE){this._destroyListeners()}this._map=this._container=null}};c.onMapUpdate=function(){this.update()};c.setInteractive=function(ay){if(this._map&&this._interactive!=ay){if(this._interactive==f.Interactivity.NONE){this._createListeners()}else{if(ay==f.Interactivity.NONE){this._destroyListeners()}}}this._interactive=ay};c.setCursor=function(ay){this._cursor=ay};c.setZIndex=function(ay){this._zIndex=ay};c._createListeners=c._destroyListeners=c.update=c._dblClick=c._click=c._mouseEnter=c._mouseLeave=c._mouseMove=i.NULL;c.setUID=function(ay){this._uid=ay};var Q=function(){ak.call(this)};c=j(Q,ak);c.__translatedEventNames={DblClick:"dblclick",Click:"click",MouseEnter:"mouseover",MouseLeave:"mouseout",MouseMove:"mousemove"};c.onAddToMap=function(ay){ak.prototype.onAddToMap.call(this,ay);this._container.add(this._htmlElement)};c.onRemoveFromMap=function(){this._mouseChecksReset();if(this._map){this._container.remove(this._htmlElement);ak.prototype.onRemoveFromMap.call(this)}};c.setCursor=function(ay){if(!this._cursorManager){this._cursorManager=new d.CursorManager(this._htmlElement)}else{this._cursorManager.removeCursor(this._cursor)}ak.prototype.setCursor.call(this,ay);this._cursorManager.addCursor(this._cursor)};c._createListeners=function(){for(var ay in this._eventHandlers){if(this._htmlElement.attachEvent){this._htmlElement.attachEvent("on"+this.__translatedEventNames[ay],this._eventHandlers[ay])}else{this._htmlElement.addEventListener(this.__translatedEventNames[ay],this._eventHandlers[ay],0)}}};c._destroyListeners=function(){for(var ay in this._eventHandlers){if(this._htmlElement.detachEvent){this._htmlElement.detachEvent("on"+this.__translatedEventNames[ay],this._eventHandlers[ay])}else{this._htmlElement.removeEventListener(this.__translatedEventNames[ay],this._eventHandlers[ay],0)}}};c._dblClick=function(ay){f.Events.notify(this,this.Events.DblClick,this._generateMouseEvent(ay))};c._click=function(ay){f.Events.notify(this,this.Events.Click,this._generateMouseEvent(ay))};c._mouseEnter=function(ay){if(!this.isMouseOver){this.isMouseOver=1;this.mapBeforeMouseMoveListener=f.Events.observe(this._map,this._map.Events.BeforeMouseMove,this._mapMouseMove,this);f.Events.notify(this,this.Events.MouseEnter,this._generateMouseEvent(ay))}};c._mouseLeave=function(ay){if(this.isMouseOver){this._mouseChecksReset();f.Events.notify(this,this.Events.MouseLeave,this._generateMouseEvent(ay))}};c._mouseChecksReset=function(){this.isMouseOver=0;if(this.mapBeforeMouseMoveListener){this.mapBeforeMouseMoveListener.cleanup()}};c._mouseMove=function(ay){if(this.isMouseOver){f.Events.notify(this,this.Events.MouseMove,this._generateMouseEvent(ay))}};c._mapMouseMove=function(aA,az){var ay=az.getEvent();if(ay.target!=this._htmlElement){this._mouseLeave(ay)}};c._generateMouseEvent=function(az){var ay=new f.MouseEvent(az,this._map);if(this._interactive==f.Interactivity.INTERACTIVE){ay.preventMapEvent()}return ay};c.setUID=function(ay){ak.prototype.setUID.call(this,ay);this._htmlElement.uid=ay};var ai=function(){};c=ai.prototype;c.setPoints=function(ay){this._points=ay};c.getPoints=function(){return this._points};var M=function(){this._levels=[];this._points=[];this._pointCache=[];this._indexCache=[]};c=M.prototype;c.A_CHAR_CODE="A".charCodeAt(0);c.DEFAULT_LEVEL=0;c.setPoints=function(ay,az){this._points=ay;this._levels=this._generatePointLevels(ay,az);this._resetCache()};c.getPoints=function(){return this._points};c.getLevels=function(){return this._levels};c.setEncodedPoints=function(az,aA,ay){this._points=this._decodeLine(az,ay);this._levels=this._generatePointLevels(this._points,this._decodeLevels(aA));this._resetCache()};c._decodeLine=function(aB,aG){var az=at.decode(aB),aJ=az.length,aD=0,aC=aG.getCoordPoint(0,0),aK=[];while(aD<aJ){var aF=0,aE=0,aI=0,ay=az.substr(aD,8);while(aI<4){aF|=(ay.charCodeAt(aI)<<aI*8);aE|=(ay.charCodeAt(aI+4)<<aI*8);aI++}var aA=aG.getCoordPoint(aF/s,aE/s),aH=aG.getCoordPoint(aA.getX()+aC.getX(),aA.getY()+aC.getY());aC=aH;aK.push(aH);aD+=8}return aK};c._decodeLevels=function(aB){var ay=[],aA=0,az=aB.length;for(;aA<az;aA++){ay.push(aB.charCodeAt(aA)-this.A_CHAR_CODE)}return ay};c._generatePointLevels=function(aB,aC){var ay=[],aD=aC||[],aA=0,az=aB.length;for(;aA<az;aA++){ay.push(aD[aA]||this.DEFAULT_LEVEL)}return ay};c.getPoint=function(ay){ay=ay<0?this._points.length+ay:ay;return this._points[ay]};c.getNumPoints=function(){return this._points.length};c.splice=function(az,aB){this._levels.splice(az,aB);for(var aA=0,ay=Array.prototype.slice.call(arguments,2).length;aA<ay;aA++){this._levels.splice(az,0,0)}this._resetCache();return this._points.splice.apply(this._points,arguments)};c.getZoomIndexes=function(ay){if(!this._indexCache[ay]){this.getZoomPoints(ay)}return this._indexCache[ay]};c.getZoomPoints=function(aA){if(!this._pointCache[aA]){this._pointCache[aA]=[];this._indexCache[aA]=[];for(var az=0,ay=this._points.length;az<ay;az++){if(this._levels[az]<=aA){this._pointCache[aA].push(this._points[az]);this._indexCache[aA].push(az)}}}return this._pointCache[aA]};c._resetCache=function(){this._pointCache.length=0};var y=function(){ai.call(this);Q.call(this);this._htmlElement=this._createArea()};c=j(y,Q);for(var av in ai.prototype){c[av]=ai.prototype[av]}c._createArea=function(){var ay=document.createElement("area");ay.shape="poly";ay.coords="0,0";if(((g.opera&&!H.SVG)||g.webkit)&&this._cursor){ay.href="javascript: void(0);"}else{ay.nohref="nohref"}ay.alt="";ay.name="area";ay.zIndex=this._zIndex;ay.uid=this._uid;return ay};c.setCursor=function(ay){Q.prototype.setCursor.call(this,ay);if(g.opera||g.webkit){this.update()}};c.update=function(){if(this._map){Q.prototype.update.call(this);var aC=this._container.getDelta(),aA=[];if(g.opera||g.webkit){this._destroyListeners();var aB=this._htmlElement;this._htmlElement=this._createArea()}for(var az=0,ay=this._points.length;az<ay;az++){aA.push(this._map.converter.mapPixelsToLocalPixels(this._points[az]).moveBy(aC).apply(Math.round).toString())}this._htmlElement.coords=aA.join(",")||"0,0";if(g.opera||g.webkit){this._createListeners();this._container.replaceArea(this._htmlElement,aB)}}};if(g.msie){c._mouseEnter=function(ay){Q.prototype._mouseEnter.call(this,ay);if(this._cursor&&this._container){this._container._imgElement.style.cursor=this._cursor}};c._mouseLeave=function(ay){Q.prototype._mouseLeave.call(this,ay);if(this._cursor&&this._container){this._container._imgElement.style.cursor=""}}}c.onAddToMap=function(ay){Q.prototype.onAddToMap.call(this,ay);this._updateListener=l.observe(this._container,this._container.Events.Update,this.update,this)};c.onRemoveFromMap=function(){if(this._map){this._updateListener.cleanup();this._updateListener=null;Q.prototype.onRemoveFromMap.call(this)}};c.setZIndex=function(aA){ak.prototype.setZIndex.call(this,aA);var ay=this._container,az=this._htmlElement;if(ay){ay.remove(az)}az.zIndex=aA;if(ay){ay.add(az)}};if(ad){var u=function(){aa.call(this);this._viewBox=q("<div />").css({position:"absolute"})[0];this._mapElement=q("<map name="+(this._id=i.generateId())+"/>")[0];this._imgElement=q("<img />").css({position:"absolute",top:"0",left:"0"}).attr({useMap:"#"+this._id,border:0,src:b.images.transparentImage})[0];this._$container.append(this._viewBox).append(this._imgElement).append(this._mapElement);this._zIndexAreas={};this._minZIndex=Infinity;this._maxZIndex=-Infinity};c=j(u,aa);c.add=function(aB){aa.prototype.add.call(this,aB);var az=aB.name;if(az=="polyline"||az=="polygon"){for(var aA=0,aD=q(this._viewBox).children(),ay=aD.length;aA<ay;aA++){if(aD[aA].uid>aB.uid){q(aB).insertBefore(aD[aA]);return}}this._viewBox.appendChild(aB)}if(az=="area"){var aE=aB.zIndex,aC=aE;if(aE>this._maxZIndex){q(this._imgElement).css("zIndex",this._maxZIndex=aE)}if(aE<this._minZIndex){this._minZIndex=aE;this._mapElement.appendChild(aB);(this._zIndexAreas[aE]=[]).push(aB)}else{while(!this._zIndexAreas.hasOwnProperty(aC)){aC--}for(var aD=this._zIndexAreas[aC],aA=aD.length-1;aA>=0;aA--){if(aC==aE){if(aD[aA].uid<aB.uid){q(aB).insertBefore(aD[aA]);this._zIndexAreas[aE].splice(aA+1,0,aB);break}if(!aA){q(aB).insertAfter(aD[aA]);this._zIndexAreas[aE].unshift(aB)}}else{q(aB).insertBefore(aD[aA]);(this._zIndexAreas[aE]=[]).push(aB);break}}}}};c.remove=function(az){var ay=az.parentNode;if(ay==this._viewBox||ay==this._mapElement){aa.prototype.remove.call(this,az);ay.removeChild(az);if(az.name=="area"){var aC=az.zIndex,aA=q.inArray(az,this._zIndexAreas[aC]);if(aA!=-1){this._zIndexAreas[aC].splice(aA,1);if(this._zIndexAreas[aC].length==0){delete this._zIndexAreas[aC];if(this._minZIndex==aC){var aB=null;for(aB in this._zIndexAreas){if(this._zIndexAreas.hasOwnProperty(aB)){break}}if(aB!=null){while(!this._zIndexAreas.hasOwnProperty(++this._minZIndex)){}}else{this._minZIndex=Infinity}}}}}}};c.replaceArea=function(az,aB){var ay=aB.parentNode;if(ay==this._mapElement){aa.prototype.remove.call(this,aB);aa.prototype.add.call(this,az);ay.replaceChild(az,aB);var aC=aB.zIndex,aA=q.inArray(aB,this._zIndexAreas[aC]);if(aA!=-1){this._zIndexAreas[aC].splice(aA,1,az)}}};c.addArea=function(ay){this._mapElement.appendChild(ay)};c.removeArea=function(ay){if(ay.parentNode==this._mapElement){this._mapElement.removeChild(ay)}};c.update=function(){aa.prototype.update.call(this);i.size(this._imgElement,this._size)};var D=function(){ak.call(this);var ay={style:"position:absolute;"};this._htmlElement=q("<img />").attr(ay)[0];this._htmlElementClon=q("<img />").attr(ay)[0];this._$imageLoader=q("<img />").attr(ay);this.__imageLoadHandler=m(this._onImageLoad,this)};c=j(D,ak);c.onRemoveFromMap=function(){if(this._map){this._$imageLoader.unbind("load",this.__imageLoadHandler);if(this._area&&this._area.getMap()){this._area.onRemoveFromMap()}this._container.remove(this._htmlElement);ak.prototype.onRemoveFromMap.call(this)}};c.setInteractive=function(ay){ak.prototype.setInteractive.call(this,ay);if(this._map){if(this._interactive!=f.Interactivity.NONE){if(this._area){this._area.setInteractive(this._interactive);if(!this._area.getMap()){this._area.onAddToMap(this._map);this._area.update()}}}else{if(this._area&&this._area.getMap()){this._area.onRemoveFromMap(this._map)}}}};c.setCursor=function(ay){ak.prototype.setCursor.call(this,ay);if(this._area){this._area.setCursor(this._cursor)}};c.setZIndex=function(ay){ak.prototype.setZIndex.call(this,ay);q([this._htmlElement,this._htmlElementClon]).css("zIndex",this._zIndex);if(this._area){this._area.setZIndex(this._zIndex)}};c.setUID=function(ay){ak.prototype.setUID.call(this,ay);this._htmlElement.uid=ay;this._htmlElementClon.uid=ay;if(this._area){this._area.setUID(ay)}};c._destroyListeners=function(){if(this._areaListeners){o(this._areaListeners,"cleanup");this._areaListeners=null}};c.update=function(){if(this._map&&this._points){if(this._containerPosCache){i.position(this._htmlElement,this._containerPosCache.diff(this._container.getPosition()).diff(i.position(this._htmlElement)))}if(this._mapZoom!=this._map.getZoom()){this._container.remove(this._htmlElement)}var ay=this._constructImg();this._size=new h(ay.width,ay.height);this._position=this._map.converter.mapPixelsToLocalPixels(new h(ay.left,ay.top));this._containerPosCache=this._container.getPosition();this._mapZoom=this._map.getZoom();this._$imageLoader.bind("load",this.__imageLoadHandler);this._$imageLoader.attr("src",ay.src);if((g.opera||g.webkit)&&this._$imageLoader.attr("complete")){this._onImageLoad()}}};c._constructImg=function(){var aC=new f.CollectionBounds(this._points),aJ=this.styles,aE=aC.getSpan().apply(Math.round),aD=Math.round(aJ.strokeWidth),az=aE.x+aD,aI=aE.y+aD,aA=Math.floor(aD/2),aH=this._getGeoPoint(aC.getCenter(),this._map.coordSystem==e),aG=this._container.getDelta(),aB=aJ.outline?"c:"+aJ.strokeColor+this._stringUp(Math.round(aJ.strokeOpacity*255).toString(16),2,"0")+",w:"+aD+",":"w:0,",aF=aJ.fill?"f:"+aJ.fillColor+this._stringUp(Math.round(aJ.fillOpacity*255).toString(16),2,"0")+",":"",ay=d.MapData.printerHost+"?ll="+aH.toString()+"&size="+az+","+aI+"&z="+this._map.getZoom()+"&key="+d.MapData.userKey+"&pl="+aB+aF+at.encode(this._encode4bytes(this._points));return{width:az,height:aI,left:aC.getLeft()+aG.x-aA,top:aC.getBottom()+aG.y-aA,src:ay}};c._stringUp=function(aA,ay,az){while(aA.length<ay){aA=az+aA}return aA};c._encode4bytes=function(aB){var ay=[],aC=this._preparePoints(aB);for(var aA=0,az=aC.length;aA<az;aA++){ay=ay.concat(at.encode4bytes(aC[aA].getX()),at.encode4bytes(aC[aA].getY()))}return ay};c._preparePoints=function(aC){var az=[];for(var aB=0,aA=aC.length,aE,ay,aD=e.getCoordPoint(0,0);aB<aA;aB++){ay=this._getGeoPoint(aC[aB],this._map.coordSystem==e);az.push(aD.diff(ay).scale(s).apply(Math.round));aD=ay}return az};c._getGeoPoint=function(ay,az){if(az){return this._map.converter.mapPixelsToCoordinates(ay,1)}return e.toCoordPoint(this._map.coordSystem.fromCoordPoint(this._map.converter.mapPixelsToCoordinates(ay,1)),1)};c._onImageLoad=function(){this._$imageLoader.unbind("load",this.__imageLoadHandler);i.position(this._htmlElementClon,this._position);i.size(this._htmlElementClon,this._size);this._htmlElementClon.src=this._$imageLoader.attr("src");this._container.remove(this._htmlElement);var ay=this._htmlElement;this._htmlElement=this._htmlElementClon;this._htmlElementClon=ay;this._container.add(this._htmlElement);if(this._interactive!=f.Interactivity.NONE){if(!this._area){this._area=new y();this._area.setInteractive(this._interactive);this._area.setCursor(this._cursor);this._area.setZIndex(this._zIndex);this._area.setUID(this._uid)}if(!this._areaListeners){this._areaListeners=[];for(var az in this._eventHandlers){this._areaListeners.push(f.Events.observe(this._area,az,this._eventHandlers[az]))}}this._area.setPoints(this.getAreaPoints(this._points));if(!this._area.getMap()){this._area.onAddToMap(this._map)}this._area.update()}};c.getAreaPoints=function(aH){var aB=[],aG=[],aA=aH.length,aF=0,aE=aA-1;for(;aF<aE;aF++){var aC=aH[aF].diff(aH[aF+1]),az=aC.scale(1/Math.sqrt(aC.x*aC.x+aC.y*aC.y)).scale(this.styles.strokeWidth).scale(0.5),ay=new h(az.y,-az.x);aG.unshift(aH[aF].copy().moveBy(ay));aG.unshift(aH[aF+1].copy().moveBy(ay));this._correctAreaPoint(aG);var aD=new h(-az.y,az.x);aB.unshift(aH[aF].copy().moveBy(aD));aB.unshift(aH[aF+1].copy().moveBy(aD));this._correctAreaPoint(aB)}o(aB,"apply",Math.round);o(aG,"apply",Math.round);aG.reverse();return aB.concat(aG)};c._correctAreaPoint=function(az){if(az[3]){var aA=az[3].diff(az[2]),ay=az[0].diff(az[1]),aC=aA.y*ay.x-aA.x*ay.y;if(aC==0){az.splice(1,1)}else{var aB=(aA.x*(az[0].y-az[3].y)-aA.y*(az[0].x-az[3].x))/aC;if(aB<1&&aB>0){az.splice(1,2,az[0].copy().moveBy(ay.copy().scale(aB)))}}}};c._dblClick=function(ay){f.Events.notify(this,this.Events.DblClick,ay)};c._click=function(ay){f.Events.notify(this,this.Events.Click,ay)};c._mouseEnter=function(ay){f.Events.notify(this,this.Events.MouseEnter,ay)};c._mouseLeave=function(ay){f.Events.notify(this,this.Events.MouseLeave,ay)};c._mouseMove=function(ay){f.Events.notify(this,this.Events.MouseMove,ay)};var P=function(){ai.call(this);D.call(this);this._htmlElement.name=this._htmlElementClon.name="polyline";this.styles.fill=0;this.styles.outline=1};c=j(P,D);for(var av in ai.prototype){c[av]=ai.prototype[av]}var I=function(){ai.call(this);D.call(this);this._htmlElement.name=this._htmlElementClon.name="polygon"};c=j(I,D);for(var av in ai.prototype){c[av]=ai.prototype[av]}c.setPoints=function(ay){ai.prototype.setPoints.call(this,ay);if(this._points[0]){this._points.push(this._points[0].copy())}};c.getAreaPoints=function(ay){if(this.styles.fill){return ay}else{return D.prototype.getAreaPoints.call(this,ay)}};c._preparePoints=function(aC){var ay=D.prototype._preparePoints.call(this,aC),aB,aA=0,az=ay.length-1;if(az>0){for(;aA<az;aA++){aB=(aB||ay[aA].copy()).moveBy(ay[aA+1])}ay[az].moveBy(aB.diff(ay[0]))}return ay}}if(z){var u=function(){aa.call(this);var ay=document.createStyleSheet(),aC="behavior: url(#default#VML);display:inline-block;";ay.addRule("vml\\:group",aC);ay.addRule("vml\\:shape",aC);try{if(!document.namespaces.vml){document.namespaces.add("vml","urn:schemas-microsoft-com:vml")}}catch(aA){}this.coordSizeCoef=10;var aB=this._viewBox=document.createElement("vml:group"),az=aB.style;az.position="absolute";az.top=az.left="-1px";this._$container.append(aB)};c=j(u,aa);c.add=function(aA){aa.prototype.add.call(this,aA);var aC=this._viewBox,az=0,aB=aC.childNodes,ay=aB.length;for(;az<ay;az++){if(aB[az].uid>aA.uid){aC.insertBefore(aA,aB[az]);return}}aC.appendChild(aA)};c.remove=function(ay){if(ay.parentElement==this._viewBox){aa.prototype.remove.call(this,ay);this._viewBox.removeChild(ay)}};c.update=function(){aa.prototype.update.call(this);var az=this._viewBox,ay=az.style;ay.visibility="hidden";i.size(az,this._size);az.coordsize=this._size.copy().scale(this.coordSizeCoef).toString();az.coordorigin=this._position.copy().scale(this.coordSizeCoef).toString();ay.visibility="visible"};var D=function(){Q.call(this)};c=j(D,Q);c.update=function(){var ay=this.styles;if(this._htmlElement.stroke){this._htmlElement.stroke.opacity=Math.round(ay.strokeOpacity*100)+"%"}this._htmlElement.strokeweight=ay.strokeWidth+"px";this._htmlElement.strokecolor="#"+ay.strokeColor};c.setZIndex=function(ay){ak.prototype.setZIndex.call(this,ay);this._htmlElement.style.zIndex=ay};var P=function(){ai.call(this);D.call(this);this._htmlElement=document.createElement("vml:shape");var ay=this._htmlElement.style;ay.margin="auto";ay.height=ay.width="100%";ay.zIndex=2;this._htmlElement.name="polyline";this._htmlElement.filled=false};c=j(P,D);for(var av in ai.prototype){c[av]=ai.prototype[av]}c.update=function(){D.prototype.update.call(this);var aA=this._container.coordSizeCoef,ay=q.map(this._points,function(aB){return aB.copy().scale(aA).apply(Math.round).toString()}),az=this._htmlElement;az.path="m "+ay.shift()+" l "+ay.join(" ")+" e";az.coordorigin=this._container.getPosition().copy().scale(aA).toString();az.coordsize=this._container.getSize().copy().scale(aA).toString();az.stroked=!!this.styles.strokeWidth;if(az.stroke){az.stroke.endcap="round"}};var I=function(){ai.call(this);D.call(this);this._htmlElement=document.createElement("vml:shape");var ay=this._htmlElement.style;ay.margin="auto";ay.width=ay.height="100%";ay.zIndex=1;this._htmlElement.name="polygon"};c=j(I,D);for(var av in ai.prototype){c[av]=ai.prototype[av]}c.update=function(){D.prototype.update.call(this);var aB=this._container.coordSizeCoef,ay=q.map(this._points,function(aC){return aC.copy().scale(aB).apply(Math.round).toString()}),az=this.styles,aA=this._htmlElement;aA.path="m "+ay.shift()+" l "+ay.join(" ")+" x e";aA.coordorigin=this._container.getPosition().copy().scale(aB).toString();aA.coordsize=this._container.getSize().copy().scale(aB).toString();aA.stroked=az.outline&&az.strokeWidth;aA.filled=az.fill;aA.fillcolor="#"+az.fillColor;if(aA.fill){aA.fill.opacity=Math.round(az.fillOpacity*100)+"%"}}}if(ae){var u=function(){aa.call(this);this._viewBox=document.createElementNS("http://www.w3.org/2000/svg","svg");this._$container.append(this._viewBox);this._zIndexGroups=[]};c=j(u,aa);c.add=function(aA){aa.prototype.add.call(this,aA);var aD=aA.zIndex,aB=this._zIndexGroups[aD];if(!aB){aB=this._zIndexGroups[aD]=document.createElementNS("http://www.w3.org/2000/svg","g");aB.zIndex=aD;for(var az=0,aC=this._viewBox.childNodes,ay=aC.length;az<ay;az++){if(aC[az].zIndex>aD){this._viewBox.insertBefore(aB,aC[az]);break}}if(!aB.parentNode){this._viewBox.appendChild(aB)}}for(var az=0,aC=aB.childNodes,ay=aC.length;az<ay;az++){if(aC[az].uid>aA.uid){aB.insertBefore(aA,aC[az]);return}}aB.appendChild(aA)};c.remove=function(ay){var az=this._zIndexGroups[ay.zIndex];if(ay.parentNode==az){aa.prototype.remove.call(this,ay);az.removeChild(ay)}};c.update=function(){aa.prototype.update.call(this);this._viewBox.setAttribute("viewBox",this._position.x+" "+this._position.y+" "+this._size.x+" "+this._size.y);this._viewBox.setAttribute("width",this._size.x);this._viewBox.setAttribute("height",this._size.y)};var D=function(){Q.call(this)};c=j(D,Q);c.update=function(){var aD=window.navigator.userAgent.toLowerCase().indexOf("chrome")!=-1,aC=this.styles;if(aD&&aC.outline&&!aC.strokeWidth){aC.outline=0}var az={fill:aC.fill?"#"+aC.fillColor:"none",stroke:aC.outline?"#"+aC.strokeColor:"none","stroke-opacity":aC.strokeOpacity,"stroke-width":aC.strokeWidth+"px"};for(var aA=0,ay=this._points.length,aB=[];aA<ay;aA++){aB.push(this._points[aA].toString())}az.points=aB.join(" ");this._setAttrs(az)};c._setAttrs=function(az){for(var ay in az){if(az.hasOwnProperty(ay)){this._htmlElement.setAttribute(ay,az[ay])}}};c.setZIndex=function(aA){ak.prototype.setZIndex.call(this,aA);var ay=this._container,az=this._htmlElement;az.zIndex=aA;if(ay){ay.remove(az);ay.add(az)}};var P=function(){ai.call(this);D.call(this);this._htmlElement=document.createElementNS("http://www.w3.org/2000/svg","polyline");this._setAttrs({"stroke-linecap":"round","stroke-linejoin":"round",name:"polyline",zIndex:"2"})};c=j(P,D);for(var av in ai.prototype){c[av]=ai.prototype[av]}var I=function(){ai.call(this);D.call(this);this._htmlElement=document.createElementNS("http://www.w3.org/2000/svg","polygon");this._setAttrs({"stroke-linejoin":"round",name:"polygon",zIndex:"1"})};c=j(I,D);for(var av in ai.prototype){c[av]=ai.prototype[av]}c.update=function(){D.prototype.update.call(this);this._setAttrs({"fill-opacity":this.styles.fillOpacity})}}var w=function(){aa.call(this)};c=j(w,aa);c.add=function(ay){aa.prototype.add.call(this,ay);this._$container.append(ay)};c.remove=function(ay){if(ay.parentNode==this._$container[0]){aa.prototype.remove.call(this,ay);this._$container[0].removeChild(ay)}};var ar=function(){ai.call(this);Q.call(this);this._containerClass=w;this._htmlElement=q("<div />").css("position","absolute")[0]};c=j(ar,Q);for(var av in ai.prototype){if(!c[av]){c[av]=ai.prototype[av]}}c.update=function(){if(this._map){var aQ=this._points,aS=new f.CollectionBounds(aQ),aF=this.styles,aE=aF.strokeWidth*1.7+7,aK=Math.max(aF.strokeWidth/1.2,2),aL="",aR=0,aN=aQ.length-1;for(;aR<aN;aR++){var aP=aQ[aR],az=aQ[aR+1],ay=aP.diff(az),aA=Math.sqrt(ay.x*ay.x+ay.y*ay.y),aD=Math.atan(ay.y/ay.x),aB=aP.x<=az.x?1:-1,aH=aB*aE*Math.cos(aD),aG=aB*aE*Math.sin(aD),aM=0,aO=aA/aE,aC=aS.getLeft(),aI=aS.getTop(),aJ=new h(aC,aI).moveBy(this._container.getDelta());for(;aM<aO;aM++){aL+='<div style="position:absolute;font-size:0px;left:'+((aP.x-aC)+aM*aH)+"px;top:"+((aP.y-aI)+aM*aG)+"px;width:"+Math.round(aK)+"px;height:"+Math.round(aK)+"px;background-color:#"+aF.strokeColor+";opacity:"+aF.strokeOpacity+";filter:alpha(opacity="+(aF.strokeOpacity*100)+');"></div>'}}i.position(this._htmlElement,this._map.converter.mapPixelsToLocalPixels(aJ).moveBy(new h(-Math.floor(aK/2))));q(this._htmlElement).html(aL)}};var F=function(ay){var az=[];this.get=function(aB){if(aB>0){for(var aA=0,aC=aB-az.length;aA<aC;aA++){az.push(new ay())}return az.splice(0,aB)}else{return null}};this.free=function(aA){az.push(aA)}};var S=new F(P);var aj=new F(ar);var L=new F(I);var ab=function(ay){ak.call(this);ai.call(this);this._shapes=[];this._shapesManager=ay};c=j(ab,ak);for(var av in ai.prototype){c[av]=ai.prototype[av]}c.onAddToMap=function(aA){ak.prototype.onAddToMap.call(this,aA);this._uid=Number(i.generateId().match(/\d+$/)[0]);for(var az=0,ay=this._shapes.length;az<ay;az++){this._shapes[az].shape.onAddToMap(aA)}};c.onRemoveFromMap=function(){for(var az=0,ay=this._shapes.length;az<ay;az++){this._shapes[az].shape.onRemoveFromMap()}ak.prototype.onRemoveFromMap.call(this)};c._createListeners=function(){for(var aA=0,ay=this._shapes.length;aA<ay;aA++){var aB=[];for(var az in this._eventHandlers){aB.push(l.observe(this._shapes[aA].shape,az,this._eventHandlers[az]))}this._shapes[aA].listeners=aB}};c._destroyListeners=function(){for(var az=0,ay=this._shapes.length;az<ay;az++){o(this._shapes[az].listeners,"cleanup");this._shapes[az].listeners=[]}};c.setInteractive=function(aA){ak.prototype.setInteractive.call(this,aA);for(var az=0,ay=this._shapes.length;az<ay;az++){this._shapes[az].shape.setInteractive(this._interactive)}};c.setCursor=function(aA){ak.prototype.setCursor.call(this,aA);for(var az=0,ay=this._shapes.length;az<ay;az++){this._shapes[az].shape.setCursor(this._cursor)}};c.setZIndex=function(aA){ak.prototype.setZIndex.call(this,aA);for(var az=0,ay=this._shapes.length;az<ay;az++){this._shapes[az].shape.setZIndex(this._zIndex)}};c.update=function(){var ay=this._points.length,aH=this._shapes.length,aG=aH-ay,aE=ay-aH,aD;for(var aB=0;aB<aG;aB++){aD=this._shapes[aB].shape;aD.onRemoveFromMap();this._shapesManager.free(aD);o(this._shapes[aB].listeners,"cleanup")}if(aG>0){this._shapes.splice(0,aG)}var az=this._shapesManager.get(aE);for(var aB=0;aB<ay;aB++){if(this._shapes[aB]){aD=this._shapes[aB].shape}else{aD=az.shift();var aF=[];if(this._interactive!=f.Interactivity.NONE){for(var aC in this._eventHandlers){aF.push(l.observe(aD,aC,this._eventHandlers[aC]))}}this._shapes.push({shape:aD,listeners:aF})}aD.setInteractive(this._interactive);aD.setCursor(this._cursor);aD.setZIndex(this._zIndex);aD.setUID(this._uid);for(var aA in this.styles){if(this.styles.hasOwnProperty(aA)){aD.styles[aA]=this.styles[aA]}}aD.setPoints(this._points[aB]);if(!aD.getMap()){aD.onAddToMap(this._map)}aD.update()}};c._dblClick=function(ay){f.Events.notify(this,this.Events.DblClick,ay)};c._click=function(ay){f.Events.notify(this,this.Events.Click,ay)};c._mouseEnter=function(ay){f.Events.notify(this,this.Events.MouseEnter,ay)};c._mouseLeave=function(ay){f.Events.notify(this,this.Events.MouseLeave,ay)};c._mouseMove=function(ay){f.Events.notify(this,this.Events.MouseMove,ay)};c.destructor=function(){ak.prototype.destructor.call(this);this._map=this._shapes=this._shapesManager=null};var af=function(){};c=af.prototype;c.Events={DblClick:"DblClick",Click:"Click",MouseEnter:"MouseEnter",MouseLeave:"MouseLeave",MouseMove:"MouseMove"};c.getShape=function(){return this._shape};c.getMap=function(){return this._map};c.onAddToMap=function(ay,az){this._map=ay;this._shape.onAddToMap(this._map);this._createShapeListeners()};c.onRemoveFromMap=function(){if(this._map){this._shape.onRemoveFromMap();this._destroyShapeListeners();this._map=null}};c._createShapeListeners=function(){this._eventListeners=[l.observe(this._shape,this.Events.DblClick,this._onDblClick,this),l.observe(this._shape,this.Events.Click,this._onClick,this),l.observe(this._shape,this.Events.MouseEnter,this._onMouseEnter,this),l.observe(this._shape,this.Events.MouseLeave,this._onMouseLeave,this),l.observe(this._shape,this.Events.MouseMove,this._onMouseMove,this)]};c._destroyShapeListeners=function(){o(this._eventListeners,"cleanup");this._eventListeners=null};c.onMapUpdate=i.NULL;c.updateGraphics=function(){if(this._map){this._shape.update()}};c._onDblClick=function(ay){l.notify(this,this.Events.DblClick,this,ay)};c._onClick=function(ay){l.notify(this,this.Events.Click,this,ay)};c._onMouseEnter=function(ay){f.Events.notify(this,this.Events.MouseEnter,this,ay)};c._onMouseLeave=function(ay){l.notify(this,this.Events.MouseLeave,this,ay)};c._onMouseMove=function(ay){f.Events.notify(this,this.Events.MouseMove,this,ay)};var ag=function(ay){af.call(this,ay);f.AInteractiveGeoObject.call(this,ay);ay=ay||{};this._interactive=typeof ay.interactive!=p?ay.interactive:f.Interactivity.INTERACTIVE;this._geodesic=!!ay.geodesic;this._cursor=ay.cursor||null;this._zIndex=typeof ay.zIndex!=p?ay.zIndex:null};c=j(ag,f.AInteractiveGeoObject);for(var av in af.prototype){c[av]=af.prototype[av]}c.Events={DblClick:"DblClick",Click:"Click",MouseEnter:"MouseEnter",MouseLeave:"MouseLeave",MouseMove:"MouseMove",BalloonOpen:"BalloonOpen",BalloonClose:"BalloonClose",PositionChange:"PositionChange",StartEditing:"StartEditing",StopEditing:"StopEditing",StartDrawing:"StartDrawing",StopDrawing:"StopDrawing"};c.onAddToMap=function(ay){af.prototype.onAddToMap.call(this,ay);this._container=H.getContainer(this._containerClass,ay);this._eventListeners.push(l.observe(this._container,this._container.Events.Update,this.updateGraphics,this),l.observe(this._map,this._map.Events.MoveStart,this._mapMoveStart,this),l.observe(this._map,this._map.Events.MoveEnd,this._mapMoveEnd,this));this._shape.setInteractive(this._interactive);this._shape.setCursor(this._getActualCursor());this._shape.setZIndex(this._getCalculatedZIndex());this.update()};c.onRemoveFromMap=function(){if(this._map){this.stopEditing();this.closeBalloon();this._hideHintIfVisible();af.prototype.onRemoveFromMap.call(this)}};c.update=function(){f.AInteractiveGeoObject.prototype.update.call(this);this._applyStyle();this._updateHint();this._updateBalloon();this.updateGraphics()};c.updateGraphics=function(){if(this._map){var ay=this._map,az=this._getClippedPixels(q.map(this.getDrawPixels(this._geodesic),function(aA){return ay.converter.coordinatesToMapPixels(ay.coordSystem.toCoordPoint(aA,1))}),this._container.getPosition(),this._container.getSize());this._shape.setPoints(az);af.prototype.updateGraphics.call(this);if(this._map&&this._balloonVisible){this._map.getBalloon().setGeoPoint(this._getBalloonPosition())}if(this._editor){this._editor.update()}}};c.getDrawPixels=function(aC){var ay=an.renderCoords(this._points.getZoomPoints(this._map.getZoom()),this._map,this._renderOptions||(this._renderOptions={}));if(aC){var aE=[],aD=this._map,aA=this._getSegments(q.map(ay,function(aF){return aD.coordSystem.toCoordPoint(aF,1)}));for(var aB=0,az=aA.length;aB<az;aB++){aE=aE.concat(d.MathLib.ortho(aA[aB][0],aA[aB][1]))}ay=q.map(aE,function(aF){return aD.coordSystem.fromCoordPoint(aF)})}return ay};c._getClippedPixels=i.NULL;c._applyStyle=i.NULL;c.setOptions=function(az,aB){if(az){f.AInteractiveGeoObject.prototype.setOptions.call(this,az,aB);az=az||{};var ay=aB?{interactive:f.Interactivity.INTERACTIVE,geodesic:0,cursor:null,zIndex:null}:this.getOptions();for(var aA in az){ay[aA]=az[aA]}if(this._interactive!=ay.interactive||this._cursor!=ay.cursor){this._interactive=ay.interactive;this._cursor=ay.cursor;this._shape.setInteractive(this._interactive);this._shape.setCursor(this._getActualCursor())}if(this._geodesic!=ay.geodesic){this._geodesic=ay.geodesic;this.updateGraphics()}if(this._zIndex!=ay.zIndex){this._zIndex=ay.zIndex;this._shape.setZIndex(this._getCalculatedZIndex())}}};c.getOptions=function(){var ay=f.AInteractiveGeoObject.prototype.getOptions.call(this);ay.interactive=this._interactive;ay.geodesic=this._geodesic;ay.cursor=this._cursor;ay.zIndex=this._zIndex;return ay};c._getActualCursor=function(){return this._interactive!=f.Interactivity.NONE?this._cursor||"pointer":""};c._getCalculatedZIndex=function(){};c._onClick=function(ay){af.prototype._onClick.call(this,ay);if(this.getOptions().hasBalloon&&this._interactive==f.Interactivity.INTERACTIVE){if(this._balloonVisible){this.closeBalloon()}else{this._balloonOpenEvent=ay;this.openBalloon()}}};c._onMouseEnter=function(ay){if(this.getOptions().hasHint&&this._interactive==f.Interactivity.INTERACTIVE&&!this._hintForbidden&&!this._hintVisible&&!this._balloonVisible){var az=ay.getEvent();this._map.hint.show(this._map.converter.clientPixelsToLocalPixels(new h(az.clientX,az.clientY)),this._getHintContentLayout(),this._getComputedHintOptions());this._hintVisible=1;this._mouseMoveAction(ay.getEvent())}af.prototype._onMouseEnter.call(this,ay)};c._onMouseLeave=function(ay){if(this._interactive==f.Interactivity.INTERACTIVE){this._hideHint()}af.prototype._onMouseLeave.call(this,ay)};c._hideHint=function(ay){if(this._hintVisible){this._map.hint.hide(ay?0:undefined);this._hintVisible=0}};c._mapMoveStart=function(){this._hintForbidden=true;this._hideHint(1)};c._mapMoveEnd=function(){this._hintForbidden=false};c._onMouseMove=function(ay){if(this._interactive==f.Interactivity.INTERACTIVE){this._mouseMoveAction(ay.getEvent())}af.prototype._onMouseMove.call(this,ay)};c._mouseMoveAction=function(ay){if(this._hintVisible){this._map.hint.moveTo(this._map.converter.clientPixelsToLocalPixels(new h(ay.clientX,ay.clientY)))}};c.setHintContent=function(ay){f.AInteractiveGeoObject.prototype.setHintContent.call(this,ay);this._updateHint()};c.setHintOptions=function(ay){f.AInteractiveGeoObject.prototype.setHintOptions.call(this,ay);if(this._hintVisible){this._map.hint.setOptions(this._getComputedHintOptions())}};c._updateHint=function(){if(this._hintVisible){this._map.hint.setOptions(this._getComputedHintOptions());this._map.hint.setContent(this._getHintContentLayout())}};c._hideHintIfVisible=function(){if(this._hintVisible){this._map.hint.hide(0)}};c._updateBalloon=function(){if(this._balloonVisible){var ay=this._map.getBalloon();ay.setOptions(this._getComputedBalloonOptions(),1);ay.setContent(this._getBalloonContentLayout())}};c.openBalloon=function(aC,aA){f.AInteractiveGeoObject.prototype.openBalloon.call(this,aC,aA);var ay=this._getBalloonPosition(this._balloonOpenEvent);if(this._map&&ay){this._hideHintIfVisible();var aE=this,az={},aD=this._getComputedBalloonOptions();for(var aB in aD){az[aB]=aD[aB]}az.onClose=function(){if(aD.onClose){aD.onClose()}aE._onCloseBalloon()};this._map.openBalloon(ay,this._getBalloonContentLayout(),az);this._balloonOpenEvent=null;this._balloonVisible=1;l.notify(this,this.Events.BalloonOpen,this)}};c._getBalloonPosition=i.NULL;c.closeBalloon=function(){f.AInteractiveGeoObject.prototype.closeBalloon.call(this);if(this._balloonVisible){this._map.closeBalloon()}};c.setBalloonOptions=function(ay){f.AInteractiveGeoObject.prototype.setBalloonOptions.call(this,ay);if(this._balloonVisible){this._map.getBalloon().setOptions(this._getComputedBalloonOptions(),1)}};c._onCloseBalloon=function(){this._firstPointShift=null;this._balloonVisible=0;l.notify(this,this.Events.BalloonClose,this)};c.getBalloon=function(){return this._balloonVisible?this._map.getBalloon():null};c.setBalloonContent=function(ay){f.AInteractiveGeoObject.prototype.setBalloonContent.call(this,ay);this._updateBalloon()};c._parseColor=function(az){var ay=[],aA;ay[0]=az.slice(0,6);aA=parseInt("0x"+(az.slice(6,8)||"ff"))/255;if(!isNaN(aA)){ay[1]=aA}return ay};c.getNumPoints=function(){return this._points.getNumPoints()};c.getPoint=function(ay){return this._points.getPoint(ay)};c.getPoints=function(){var ay=[],aB=this._points.getPoints();for(var aA=0,az=aB.length;aA<az;aA++){ay.push(aB[aA].copy())}return ay};c.setPoints=function(ay){this._points.setPoints(ay);l.notify(this,this.Events.PositionChange,this);this.updateGraphics()};c.addPoint=function(ay,az){if(!(ay instanceof Array)){ay=[ay]}az=typeof az!=p?az:this._points.getNumPoints();this._points.splice.apply(this._points,[az,0].concat(ay));l.notify(this,this.Events.PositionChange,this);this.updateGraphics()};c.removePoint=function(ay){var az=this._points.splice(ay,1);l.notify(this,this.Events.PositionChange,this);this.updateGraphics();return az};c.splicePoints=function(az,aA){var ay=this._points.splice.apply(this._points,arguments);l.notify(this,this.Events.PositionChange,this);this.updateGraphics();return ay};c.startEditing=i.NULL;c.stopEditing=function(){if(this._editor){var ay=this._editor;this._editor=null;ay.stopEditing()}};c.setEditingOptions=function(ay){if(ay){this._editorOptions=q.extend(this._editorOptions,ay);if(this._editor){this._editor.setOptions(this._editorOptions);if(this._editor){this._editor.update()}}}};c.isEditing=function(){return !!this._editor};c.isDrawing=function(){return !!(this._editor&&this._editor.getOptions().drawing)};var T=d.PolylinePoints=function(){M.call(this)};c=j(T,M);n=f.Polyline=function(az,ay){ag.call(this,ay);this._shape=new ab(S);if(az instanceof T){this._points=az}else{this._points=new T();if(az){this._points.setPoints(az)}}};c=j(n,ag);n.fromEncodedPoints=function(aB,aC,ay,aA){var az=new T();az.setEncodedPoints(aB,aC,aA||e);return new f.Polyline(az,ay)};c.startEditing=function(){if(!this._editor){this._editor=new am(this);this._editor.setOptions(this._editorOptions);if(this._editor){this._editor.update()}}};c._applyStyle=function(){var aA=this.getComputedStyle(),aB={},ay;if(aA){aB.strokeWidth=Number(aA.lineStyle.strokeWidth);ay=this._parseColor(aA.lineStyle.strokeColor);aB.strokeColor=ay[0];aB.strokeOpacity=ay[1];aB.fill=0;aB.outline=1;for(var az in aB){if(aB.hasOwnProperty(az)){this._shape.styles[az]=aB[az]}}}};c.getClosestPoint=function(aL){var aJ=this.getDrawPixels(this._geodesic);if(!aL||!aJ.length){return null}if(aJ.length==1){return{point:this._map.coordSystem.toCoordPoint(aJ[0],1),index:0}}var aC=this._map.coordSystem.fromCoordPoint(aL),aA=new f.Point(),aF;for(var aD=1,ay=aJ[0],az=Infinity;aD<aJ.length;aD++){if(ay.equals(aJ[aD])){continue}var aH=aJ[aD],aK=ay.diff(aH),aI=ay.diff(aC),aE=(aK.x*aI.x+aK.y*aI.y)/(aK.x*aK.x+aK.y*aK.y),aB;if(aE<0){aB=aC.diff(ay)}else{if(aE>1){aB=aC.diff(aH)}else{aB=aI.diff(aK.copy().scale(aE))}}var aG=Math.sqrt(aB.x*aB.x+aB.y*aB.y);if(aG<=az){az=aG;aA=aB;aF=aD}ay=aH}aC.moveBy(aA);return{point:this._map.coordSystem.toCoordPoint(aC,1),index:aF-1}};c._getBalloonPosition=function(aB){var aC=this.getDrawPixels(this._geodesic);if(!aC.length){return null}var aA=this._map.coordSystem.toCoordPoint(aC[0],1),az;if(aB){az=aB.getCoordPoint(1)}else{if(this._firstPointShift){az=aA.copy().moveBy(this._firstPointShift)}else{az=this._map.coordSystem.toCoordPoint(new f.CollectionBounds(aC).getCenter(),1)}}var ay=this.getClosestPoint(az).point;this._firstPointShift=aA.diff(ay);return ay};c._getClippedPixels=function(az,aE,aH){var aI=[],aD,aB=[aE,aE.copy().moveBy(aH)];for(var aC=0,aA=az.length-1;aC<aA;aC++){var aG=az[aC],aF=az[aC+1],ay=R.getIntersection(aG,aF,aB);if(ay.intersection){if(!aD||!ay.from.equals(aG)){aI.push(aD=[])}aD.push(ay.from);if(!ay.to.equals(aF)||aC==aA-1){aD.push(ay.to)}}}return aI};c._getSegments=function(aB){var ay=[],aA=1,az=aB.length;for(;aA<az;aA++){ay.push([aB[aA-1],aB[aA]])}return ay};c._getCalculatedZIndex=function(){return this._zIndex===null?f.ZIndex.POLYLINE:this._zIndex};n=f.PaintPolyline=function(az,ay){ay=ay||{};ay.interactive=ay.interactive||f.Interactivity.NONE;f.Polyline.call(this,az,ay);this._containerClass=w;this._shape=new ab(aj)};c=j(n,f.Polyline);var G=d.PolygonPoints=function(){M.call(this)};c=j(G,M);n=f.Polygon=function(az,ay){ag.call(this,ay);this._shape=new ab(L);if(az instanceof G){this._points=az}else{this._points=new G();if(az){this._points.setPoints(az)}}};c=j(n,ag);n.fromEncodedPoints=function(aB,aC,ay,aA){var az=new G();az.setEncodedPoints(aB,aC,aA||e);return new f.Polygon(az,ay)};c.startEditing=function(){if(!this._editor){this._editor=new Z(this);this._editor.setOptions(this._editorOptions);if(this._editor){this._editor.update()}}};c._applyStyle=function(){var aA=this.getComputedStyle(),aB={},ay;if(aA){aB.strokeWidth=Number(aA.polygonStyle.strokeWidth);ay=this._parseColor(aA.polygonStyle.strokeColor);aB.strokeColor=ay[0];aB.strokeOpacity=ay[1];ay=this._parseColor(aA.polygonStyle.fillColor);aB.fillColor=ay[0];aB.fillOpacity=ay[1];aB.fill=!!aA.polygonStyle.fill;aB.outline=!!aA.polygonStyle.outline;for(var az in aB){if(aB.hasOwnProperty(az)){this._shape.styles[az]=aB[az]}}}};c._getBalloonPosition=function(aB){var az=this.getDrawPixels(this._geodesic);if(!az.length){return null}var aA=this._map.coordSystem.toCoordPoint(az[0],1),ay;if(aB){ay=aB.getCoordPoint(1)}else{if(this._firstPointShift){ay=aA.copy().moveBy(this._firstPointShift)}else{ay=this._map.coordSystem.toCoordPoint(new f.CollectionBounds(az).getCenter(),1)}}this._firstPointShift=aA.diff(ay);return ay};c._getClippedPixels=function(aB,aH,aJ){var aD=new f.CollectionBounds([aH,aH.copy().moveBy(aJ)]);for(var aE=0;aE<4;aE++){var ay=[new h(aE==0?aD.getLeft():-Infinity,aE==3?aD.getBottom():-Infinity),new h(aE==2?aD.getRight():Infinity,aE==1?aD.getTop():Infinity)],aF=[],aI;for(var aC=0,aA=aB.length;aC<aA;aC++){var aG=aB[aC+1==aA?0:aC+1],az=R.getIntersection(aB[aC],aG,ay);if(az.intersection){aF.push(az.from);aI=az.to;if(!aI.equals(aG)){aF.push(aI)}}}aB=aF;aI=null}return aB.length?[aB]:[]};c._getSegments=function(aB){var ay=[],aA=1,az=aB.length;for(;aA<=az;aA++){ay.push([aB[aA-1],aA==az?aB[0]:aB[aA]])}return ay};c._getCalculatedZIndex=function(){return this._zIndex===null?f.ZIndex.POLYGON:this._zIndex};var E=function(ay,az){this._model=ay;q.extend(this,az)};c=E.prototype;c.getPoint=function(){return this._model.getVertexCoord(this)};var aw=function(ay,az){this._model=ay;q.extend(this,az)};c=aw.prototype;c.getPoint=function(){return this._model.getEdgeCoord(this)};var al=function(ay,az){this._editedObject=ay;this._editor=az;this._edges=[];this._vertices=[]};c=al.prototype;c.Events={Update:"Update"};c.update=function(){this.updateVertices();this.updateEdges();l.notify(this,this.Events.Update,this)};c.getVertices=function(){return this._vertices};c.getEdges=function(){return this._edges};c.getEdgeCoord=function(aD){var aE=aD.prev.getPoint(),aB=aD.next.getPoint(),aC=this._editedObject.getMap().coordSystem;if(this._editedObject.getOptions().geodesic){var ay=d.MathLib.ortho(aE,aB),aA=Math.floor((ay.length-1)/2);aE=ay[aA],aB=ay[aA+1]}var az=aC.fromCoordPoint(aE);return aC.toCoordPoint(az.moveBy(az.diff(aC.fromCoordPoint(aB)).scale(0.5)),1)};c.getVertexCoord=function(ay){return ay.point};var ax=function(ay,az){al.call(this,ay,az)};c=j(ax,al);c.updateVertices=function(){var az=this._editedObject,aJ=this._editor.getOptions().lockedPoints,ay=az.getMap(),aM=az.getDrawPixels(),aF=az._points.getZoomPoints(ay.getZoom()),aA=az._points.getZoomIndexes(ay.getZoom()),aE=[],aL=this._vertices,aG=0,aB=aF.length;for(;aG<aB;aG++){var aI=null,aK=aF[aG];for(var aD=0,aC=aL.length;aD<aC;aD++){if(aL[aD].originalPoint==aK){aI=aL.splice(aD,1)[0];break}}if(!aI){aI=new E(this,{originalPoint:aK})}else{aI.prev=aI.next=null}q.extend(aI,{locked:q.inArray(aK,aJ)!=-1,point:this._editedObject.getMap().coordSystem.toCoordPoint(aM[aG],1),index:aA[aG]});var aH=aE[aG-1];if(aH){aH.next=aI;aI.prev=aH}aE.push(aI)}this._vertices=aE};c.updateEdges=function(){var aF=[],aE=this._edges;for(var aD=0,aA=this._vertices.length;aD<aA;aD++){var ay=null,aG=this._vertices[aD],aH=aG.next;if(aH){for(var aC=0,aB=aE.length;aC<aB;aC++){var az=aE[aC];if(az.nextOriginalPoint==aH.originalPoint&&az.prevOriginalPoint==aG.originalPoint){ay=aE.splice(aC,1)[0];break}}if(!ay){ay=new aw(this,{nextOriginalPoint:aH.originalPoint,prevOriginalPoint:aG.originalPoint})}ay.next=aH;ay.prev=aG;aF.push(ay)}}this._edges=aF};var B=function(ay,az){ax.call(this,ay,az)};c=j(B,ax);c.updateVertices=function(){ax.prototype.updateVertices.call(this);var ay=this._vertices.length,az=this._vertices[ay-1],aA=this._vertices[0];if(ay){az.next=aA;aA.prev=az}};var J=function(az,aB){d.ABaseLayout.call(this,az,aB);this._$elements=q("<div class='YMaps-gEditor-edgePoint' style='position:absolute;top:0;left:0;width:10px;height:10px;overflow:hidden;font-size:0;z-index:1;'></div>");var aA=this._$elements[0].style;this.cssRounded=aA.OBorderRadius==""||aA.MozBorderRadius==""||aA.WebkitBorderRadius==""||aA.borderRadius=="";if(this.cssRounded){this._$elements.css({backgroundColor:"#eee",border:"1px solid #999",opacity:0.8})}else{var ay="http://api-maps.yandex.ru/i/0.4/editor/edgeMarker.png";this._$elements.append(q("<i style='position:absolute;top:-10px;left:0;width:10px;height:20px;'></i>").css(g.msie&&g.version==6?{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+ay+",sizingMethod=scale)"}:{background:"url("+ay+")"}))}};c=j(J,d.ABaseLayout);c.onAddToParent=function(ay){d.ABaseLayout.prototype.onAddToParent.call(this,ay);this.update()};c.update=function(){if(this.cssRounded){var ay=this._$elements[0].style;ay.width=ay.height=this._getSize()+"px";ay.MozBorderRadius=ay.WebkitBorderRadius=ay.borderRadius=(this._getSize()/2)+1+"px"}this._mouseListeners=[l.observe(this._context,this._context.Events.MouseEnter,this._onMouseOver,this),l.observe(this._context,this._context.Events.MouseLeave,this._onMouseOut,this)]};c.onRemoveFromParent=function(){d.ABaseLayout.prototype.onRemoveFromParent.call(this);o(this._mouseListeners,"cleanup")};c._onMouseOver=function(){var ay=this.cssRounded?this._$elements:this._$elements.children();ay.css(this.cssRounded?{backgroundColor:"#fdff38",opacity:1}:{top:"0"})};c._onMouseOut=function(){var ay=this.cssRounded?this._$elements:this._$elements.children();ay.css(this.cssRounded?{backgroundColor:"#eee",opacity:0.8}:{top:"-10px"})};c.getOffset=function(){var ay=-(this._getSize()/2)-(q.boxModel!==false&&1);return new h(ay,ay)};c._getSize=function(){return 8+(q.boxModel===false&&2)};var au=function(ay,az){d.ABaseLayout.call(this,ay,az);this._mouseOver=0;this._menuOpen=0;this._$elements=q("<div class='YMaps-gEditor-vertexPoint' style='background-color: #fff; border: 1px solid #777; position: absolute; top: 0; left: 0; font-size: 0px; z-index:1'></div>")};c=j(au,d.ABaseLayout);c.onAddToParent=function(ay){d.ABaseLayout.prototype.onAddToParent.call(this,ay);this.update();this._listeners=[l.observe(this._context,this._context.Events.MouseEnter,this._onMouseOver,this),l.observe(this._context,this._context.Events.MouseLeave,this._onMouseOut,this),l.observe(this._context,"MenuShow",this._onMenuShow,this),l.observe(this._context,"MenuHide",this._onMenuHide,this)]};c.onRemoveFromParent=function(){d.ABaseLayout.prototype.onRemoveFromParent.call(this);o(this._listeners,"cleanup")};c._onMouseOver=function(){this._mouseOver=1;this.lightUp()};c._onMouseOut=function(){this._mouseOver=0;this.lightDown()};c._onMenuShow=function(){this._menuOpen=1;this.lightUp()};c._onMenuHide=function(){this._menuOpen=0;this.lightDown()};c.lightUp=function(){if(this._mouseOver||this._menuOpen){this._$elements.css("backgroundColor","#fdff38")}};c.lightDown=function(){if(!this._mouseOver&&!this._menuOpen){this._$elements.css("backgroundColor","#fff")}};c.update=function(){var az=this._$elements[0].style,ay=this.getSize();az.width=ay.getX()+"px";az.height=ay.getY()+"px"};c.getSize=function(){var ay=10+(q.boxModel===false&&2);return new h(ay,ay)};c.getOffset=function(){return new h(-(this.getSize().getX()/2)-(q.boxModel!==false&&1),-(this.getSize().getY()/2)-(q.boxModel!==false&&1))};var N=function(ay,az){au.call(this,ay,az);this._$elements.removeClass("YMaps-gEditor-vertexPoint");this._$elements.addClass("YMaps-gEditor-lockedVertexPoint");this._$elements.css({backgroundColor:"#eee",borderColor:"#777",opacity:0.8})};c=j(N,au);c.lightDown=function(){if(!this._mouseOver&&!this._menuOpen){this._$elements.css("backgroundColor","#eee")}};var aq=function(aE){var ay,aC=new f.Placemark(new f.GeoPoint(0,0),{style:{iconStyle:{template:new f.LayoutTemplate(r)}},cursor:f.Cursor.ARROW,interactive:f.Interactivity.STATIC,zIndex:f.ZIndex.EDITOR_VERTEX_MARKER+1}),aD=[],aF,aA;aC.metaDataProperty.owner=ay;this.isVisible=function(){return aC.getMap()};this.setOwner=function(aG){if(aG!=ay){aB();aC.metaDataProperty.owner=ay=aG}};this.getOwner=function(){return ay};this.setContent=function(aG){if(aA){aA.remove()}aC.setIconContent((aA=aG)[0])};this.show=function(){if(ay){aC.setCoordPoint(ay.getCoordPoint());aE.addOverlay(aC);ay.setOptions({zIndex:f.ZIndex.EDITOR_VERTEX_MARKER+2});l.notify(ay,"MenuShow");aD=l.observe(aE,[aE.Events.MoveStart,aE.Events.BoundsChange],aB).concat(l.observe(ay,[ay.Events.DragStart,ay.Events.DblClick],aB),l.observe(aC,[aC.Events.DblClick,aC.Events.Click,aC.Events.MouseEnter,aC.Events.MouseLeave,aC.Events.MouseMove],az));aF=setTimeout(function(){aD.push(l.observe(aE,aE.Events.BeforeClick,aB))},0)}};this.hide=function(){aB()};function aB(){if(ay){aE.removeOverlay(aC);ay.setOptions({zIndex:f.ZIndex.EDITOR_VERTEX_MARKER});l.notify(ay,"MenuHide");clearTimeout(aF);o(aD,"cleanup");aD=[]}}function az(aG,aH){aH.preventMapEvent()}};var Y=new function(){var az=[],ay=[];this.get=function(aB){var aA=q.inArray(aB,az),aC;if(aA!=-1){aC=ay[aA]}else{aC=new aq(aB);ay.push(aC);az.push(aB)}return aC}}();var r=function(ay,az){d.ABaseLayout.call(this,ay,az);this._$elements=q("<div style='color: #1a3dc1; font-size: 11px; position: absolute; top: 0; left: 0;padding: 2px 3px; background-color: #fff; border: 1px solid #777;' />")};c=j(r,d.ABaseLayout);c.onAddToParent=function(ay){d.ABaseLayout.prototype.onAddToParent.call(this,ay);this.update()};c.setContent=function(ay){this._setContent(ay,this._$elements)};c.getOffset=function(){return this._context.metaDataProperty.owner._icon.getOffset().moveBy(new h(-3,-3))};c.update=function(){var ay=this._context.metaDataProperty.owner._icon.getSize().getX()+7;this._$elements.css("paddingLeft",ay+"px")};var U=function(aA,aB,aD){var az=null,aC=[];this.push=function(aE){aC.push(aE);if(!az){az=setInterval(ay,aA)}};function ay(){for(var aE=0;aE<aB;aE++){if(!aC.length){clearInterval(az);az=null;return}aD(aC.shift())}}this.clear=function(){if(az){clearInterval(az);az=null}aC.length=0}};var V=function(aA,ay,az){this._map=aA;this._handlers=ay;this._options=az;this._pool={};this._fadePool={};this._dragged=[];this._addChunker=new U(20,10,function(aB){if(!aB.getMap()){aA.addOverlay(aB)}})};c=V.prototype;c.getDragged=function(){return this._dragged};c.setupMarkers=function(aD,aL){var aG=0,aE=aD.length,aB={};this._addChunker.clear();for(;aG<aE;aG++){var aF=aD[aG],aO=this.getMarkerOptions(aF),aH=null,aN=this.getHashKey(aF);aH=this._findMarkerInCell(this._pool,aN,aF)||this._findMarkerInCell(this._fadePool,aN,aF);if(aH){var aJ=0,aA={},ay=aH.getOptions();for(var aI in aO){if(aO.hasOwnProperty(aI)){if(aO[aI]!=ay[aI]){aJ=1;aA[aI]=aO[aI]}}}if(aJ){aH.setOptions(aA)}if(!aH.getCoordPoint().equals(aF.getPoint())&&!aH.metaDataProperty.dragged){aH.setCoordPoint(aF.getPoint())}}else{aH=new f.Placemark(aF.getPoint(),aO);var aK=[],az,aC=this._handlers;aK.push(l.observe(aH,aH.Events.DragStart,this._onDragStart,this),l.observe(aH,aH.Events.DragEnd,this._onDragEnd,this));for(az in aC){if(aC.hasOwnProperty(az)){aK.push(l.observe(aH,aH.Events[az],aC[az]))}}q.extend(aH.metaDataProperty,{listeners:aK,rec:aF})}if(!aH.getMap()){if(aL){this._addChunker.push(aH)}else{this._map.addOverlay(aH)}}(aB[aN]||(aB[aN]=[])).push(aH)}for(aN in this._pool){if(this._pool.hasOwnProperty(aN)){var aM=this._pool[aN];for(aG=0,aE=aM.length;aG<aE;aG++){aH=aM[aG];if(aH.getMap()){this._map.removeOverlay(aH)}}this._fadePool[aN]=(this._fadePool[aN]||[]).concat(aM)}}this._pool=aB};c._findMarkerInCell=function(aD,aC,aE){var ay=aD[aC];if(ay){for(var aB=0,aA=ay.length;aB<aA;aB++){if(ay[aB].metaDataProperty.rec==aE){var az=ay.splice(aB,1)[0];if(!ay.length){delete aD[aC]}return az}}}};c._onDragStart=function(ay){ay.metaDataProperty.dragged=1;this._dragged.push(ay)};c._onDragEnd=function(ay){ay.metaDataProperty.dragged=0;var az=q.inArray(ay,this._dragged);if(az!=-1){this._dragged.splice(az,1)}};c.destruct=function(){this._addChunker.clear();this._cleanupPool(this._pool);this._cleanupPool(this._fadePool)};c._cleanupPool=function(aC){var aB,aA,az,ay;for(aB in aC){if(aC.hasOwnProperty(aB)){for(aA=0,az=aC[aB].length;aA<az;aA++){ay=aC[aB][aA];o(ay.metaDataProperty.listeners,"cleanup");if(ay.getMap()){this._map.removeOverlay(ay)}}}}};var ap=function(aA,ay,az){V.call(this,aA,ay,az)};c=j(ap,V);c.getMarkerOptions=function(ay){var az=f.ZIndex.EDITOR_VERTEX_MARKER;return{draggable:ay.locked?0:1,style:ay.locked?X.createMarkerStyle(this._options.vertexLockedLayout):X.createMarkerStyle(this._options.vertexLayout),interactive:f.Interactivity.INTERACTIVE,zIndex:az,zIndexHover:az+2,zIndexDrag:az+2,zIndexActive:az+2}};c.getHashKey=function(az){var ay=az.originalPoint;return ay.getX()+","+ay.getY()};var x=function(aA,ay,az){V.call(this,aA,ay,az)};c=j(x,V);c.getMarkerOptions=function(){var ay=f.ZIndex.EDITOR_EDGE_MARKER;return{draggable:1,style:X.createMarkerStyle(this._options.edgeLayout),interactive:f.Interactivity.INTERACTIVE,zIndex:ay,zIndexHover:ay+1,zIndexDrag:ay+1,zIndexActive:ay+1}};c.getHashKey=function(az){var ay=az.nextOriginalPoint;return ay.getX()+","+ay.getY()};var X=function(aB,aF,aE,aD,aA){this.update=function(){var aM=Y.get(aF);if(aM.isVisible()){aM.hide()}var aJ=aF.getBounds(1),aI=ay.getDragged(),aH=aB.getVertices(),aL=q.map(aH,function(aP){if(aJ.contains(aP.getPoint())){return aP}else{for(var aO=0,aN=aI.length;aO<aN;aO++){if(aI[aO].metaDataProperty.rec==aP){return aP}}}}),aG=[];if(aH.length<aA.maxPoints){aG=q.map(aB.getEdges(),function(aN){if(aJ.contains(aN.getPoint())){return aN}})}var aK=aH.length>10;az.setupMarkers(aG,aK);ay.setupMarkers(aL,aK)};this.destruct=function(){o(aC,"cleanup");az.destruct();ay.destruct()};var az=new x(aF,aD,aA),ay=new ap(aF,aE,aA),aC=[l.observe(aB,aB.Events.Update,this.update),l.observe(aF,aF.Events.MoveEnd,this.update)]};X.createMarkerStyle=function(ay){return{hasBalloon:0,hasHint:0,iconStyle:{template:new f.LayoutTemplate(ay)}}};var ao=function(aB,aA){var az=[],ay=aA;this.setStyle=function(aC){o(az,"setStyle",ay=aC)};this.setCoords=function(aC,aK){var aH=[],aG=aB.converter,aM=aG.coordinatesToLocalPixels(aC),aJ=0,aI=aK.length;for(;aJ<aI;aJ++){var aL=aK[aJ],aN=aG.coordinatesToLocalPixels(aL),aF=aN.diff(aM),aE=aF.length();if(aE){aF.scale(Math.max(aE-(Number(ay.lineStyle.strokeWidth)*1.7+7),0)/aE);var aD=aG.localPixelsToCoordinates(aN.moveBy(aF),1),aO=az.shift();if(aO){aO.splicePoints(0,2,aD,aL)}else{aO=new f.PaintPolyline([aD,aL],{style:ay});aB.addOverlay(aO)}aH.push(aO)}}while(az.length){aB.removeOverlay(az.shift())}az=aH};this.hide=function(){while(az.length){aB.removeOverlay(az.shift())}}};var K=new function(){var aA=[],az=[],ay=[];this.get=function(aD){var aC=q.inArray(aD,aA),aB;if(aC==-1){aA.push(aD);az.push(aB=new W());ay.push(1)}else{ay[aC]++;aB=az[aC]}if(!aB.getMap()){aD.addOverlay(aB)}return aB};this.free=function(aC){var aB=q.inArray(aC,az);if(aB!=-1){ay[aB]--;if(!ay[aB]){aA[aB].removeOverlay(aC)}}}};var W=function(){var aA=q("<div class='YMaps-gEditor-glassPane' style= 'position: absolute; z-index: "+f.ZIndex.EDITOR_GLASS_PANE+";'/>"),ay,aB=["click","dblclick","mousemove","mouseover","mouseout"],az={},aF;for(var aD=0,aC=aB.length;aD<aC;aD++){var aE=aB[aD];az[aE]=(function(aH,aI){return function(aJ){l.notify(aI,aH,this,new f.MouseEvent(aJ,ay))}})(aE,this)}this.getMap=function(){return ay};this.onAddToMap=function(aI,aJ){ay=aI;aA.appendTo(aJ);aF=l.observe(ay,ay.Events.MoveEnd,aG);aG();for(var aH in az){if(az.hasOwnProperty(aH)){aA.bind(aH,az[aH])}}};this.onRemoveFromMap=function(){for(var aH in az){if(az.hasOwnProperty(aH)){aA.unbind(aH,az[aH])}}aF.cleanup();aA.removeFromDom();ay=null};this.onMapUpdate=function(){aG()};function aG(){var aH=ay.getContainerSize(),aI=ay.converter.localPixelsToMapPixels(new h(0,0));aA.css({top:aI.getY()+"px",left:aI.getX()+"px",width:aH.getX()+"px",height:aH.getY()+"px"})}};var A=function(ay,aL,az){var aO,aB=0,aE=0,aH,aI,aD,aA,aC;this.enable=function(){aE=1;if(aO){ay.addCursor(aO)}if(aB){aD=K.get(ay)}aH=[l.observe(ay,ay.Events.BeforeMouseMove,aN),l.observe(ay,ay.Events.BeforeClick,aK),l.observe(ay,ay.Events.MoveStart,aM),l.observe(ay,ay.Events.MoveEnd,aG)];aI=new ac(ay)};this.disable=function(){aE=0;aI.destructor();o(aH,"cleanup");if(aB){K.free(aD)}if(aO){ay.removeCursor(aO)}};this.setDrawOver=function(aP){if(aE){this.disable();aB=aP;this.enable()}else{aB=aP}};this.setCursor=function(aP){if(aE){ay.removeCursor(aO);ay.addCursor(aP)}aO=aP};function aN(aQ,aP){aA=aP;aF()}function aK(aQ,aP){aL(aP)}function aM(){aH[0].disable()}function aG(){aH[0].enable()}function aF(){if(aA){if(g.msie){if(!aC){aC=setInterval(aJ,25)}}else{az(aA)}}}function aJ(){if(aA&&ay){az(aA);aA=null}else{clearInterval(aC);aC=null}}};var ah=function(ay){this._graphicsObject=ay;this._map=ay.getMap();this._options={drawing:0,drawingCursor:f.Cursor.ARROW,drawOver:0,stopDrawingByDblClick:1,maxPoints:Infinity,menuManager:0,onDblClick:m(function(az,aB){var aC=this._getStructureRec(this._model.getVertices(),"index",aB);if(!aC.locked){var aA=this._removeLowLevelPoints(aC.prev?aC.prev.index:null,aC.next?aC.next.index:null);az.removePoint(aA[aB])}},this),lockedPoints:[],onPointDragging:0,onPointDrawing:0,vertexLockedLayout:N,vertexLayout:au,edgeLayout:J};this._vertexHandlers={DblClick:m(this._onVertexDblClick,this),Click:m(this._onVertexClick,this),DragStart:m(this._onVertexDragStart,this),Drag:m(this._onVertexDrag,this),DragEnd:m(this._onVertexDragEnd,this)};this._edgeHandlers={DragStart:m(this._onEdgeDragStart,this),Drag:m(this._onEdgeDrag,this),DragEnd:m(this._onEdgeDragEnd,this)};this._editLines=new ao(this._map);this._drawLines=new ao(this._map);this._drawingTool=new A(this._map,m(this._onDrawingClick,this),m(this._onDrawingMove,this));this._drawingTool.setCursor(this._options.drawingCursor);this._drawingTool.setDrawOver(this._options.drawOver)};c=ah.prototype;ah.DBLCLICKTIME=250;c.setOptions=function(aB){aB=aB||{};var aD=["maxPoints","menuManager","drawingCursor","drawOver","onDblClick","stopDrawingByDblClick","onPointDragging","onPointDrawing","lockedPoints","vertexLockedLayout","vertexLayout","edgeLayout"],ay={},aA,aC=0,az=aD.length;for(;aC<az;aC++){aA=aD[aC];if(typeof aB[aA]!=p){this._options[aA]=aB[aA];ay[aA]=1}}if(typeof aB.drawing!=p){if(aB.drawing&&!this._options.drawing&&this._getGraphicsPointsNum()<this._options.maxPoints){this._enableDrawing()}if(!aB.drawing&&this._options.drawing){this._disableDrawing()}}if(ay.drawingCursor){this._drawingTool.setCursor(aB.drawingCursor)}if(ay.drawOver){this._drawingTool.setDrawOver(aB.drawOver)}};c.getOptions=function(){return this._options};c.update=function(){var aA=this._graphicsObject.getComputedStyle(),ay=this._getGraphicsPointsNum();this._editLines.hide();if(aA!=this._graphicsStyle){this._graphicsStyle=aA;var az=this._createDashedLineStyle();this._drawLines.setStyle(az);this._editLines.setStyle(az)}this._model.update();if(this._options.drawing&&ay>=this._options.maxPoints){this._disableDrawing()}this._inited=(this._inited||this._notifyGraphicsEvent(this._graphicsObject.Events.StartEditing),1)};c.stopEditing=function(){if(this._options.drawing){this._disableDrawing()}this._editLines.hide();this._view.destruct();this._notifyGraphicsEvent(this._graphicsObject.Events.StopEditing);this._map=this._graphicsObject=this._graphicsStyle=this._view=this._model=null};c._getGraphicsPointsNum=function(){return this._graphicsObject._points.getZoomPoints(this._map.getZoom()).length};c._onVertexClick=function(ay){var aB=this._map,aC=Y.get(aB);aC.setOwner(ay);var aA=aC.isVisible(),az;if(!aA){az=this._getMarkerMenu(ay);if(az!=null){aC.setContent(az);aC.show()}}};c._getMarkerMenu=function(aA){var aD=aA.metaDataProperty.rec.index,aB=this.getMarkerMenuItems(aD),ay=null;for(var aC=0,az=aB.length;aC<az;aC++){(ay||(ay=q("<div>"))).append(this._buildMenuItem(aD,aB[aC]))}return ay};c.getMarkerMenuItems=function(az){var ay=this._getNativeMenuItems(az);if(this._options.menuManager){ay=this._options.menuManager(az,ay)}return ay};c._getNativeMenuItems=function(az){var ay=[],aA=this._getStructureRec(this._model.getVertices(),"index",az),aB=this;if(!aA.locked){ay.push({id:f.GraphicsEditingMenuIDs.Delete,title:b.hints.graphicsEditor.deleteVertex,onClick:function(){var aC=aB._removeLowLevelPoints(aA.prev?aA.prev.index:null,aA.next?aA.next.index:null);aB._graphicsObject.removePoint(aC[az])}})}if(this._options.drawing){ay.push({id:f.GraphicsEditingMenuIDs.StopDrawing,title:b.hints.graphicsEditor.stopDrawing,onClick:function(){aB._disableDrawing()}})}return ay};c._buildMenuItem=function(aA,az){var ay=q('<span style="cursor: '+f.Cursor.POINTER+';">'+az.title+"</span><br />"),aB=this;if(az.onClick){ay.bind("click",function(aC){var aD=new f.MouseEvent(aC,aB._map);aD.preventMapEvent();az.onClick.call(aB._graphicsObject,aB._graphicsObject,aA);if(aB._options.drawing){aB._onDrawingMove(aD)}})}ay.bind("mouseover",function(){ay.css("color","#ff0000")});ay.bind("mouseout",function(){ay.css("color","")});return ay};c._onVertexDblClick=function(az){var ay=az.metaDataProperty.rec;if(ay){if(!this._options.stopDrawingByDblClick||!this._lastAddDate||new Date()-this._lastAddDate>ah.DBLCLICKTIME){var aA=this._options.onDblClick;if(aA){aA.call(this._graphicsObject,this._graphicsObject,ay.index)}}}};c._onVertexDragStart=function(az){var ay=az.metaDataProperty.rec,aA=this._onPointDragging(ay.getPoint(),ay.index,1,0);if(aA){this._editLines.setCoords(aA,this._getSiblingPoints(ay))}};c._onVertexDrag=function(az){var ay=az.metaDataProperty.rec,aA=this._onPointDragging(az.getCoordPoint(),ay.index,1,0);if(aA){this._editLines.setCoords(aA,this._getSiblingPoints(ay))}};c._onVertexDragEnd=function(az){var ay=az.metaDataProperty.rec;this._editLines.hide();var aB=this._removeLowLevelPoints(ay.prev?ay.prev.index:null,ay.next?ay.next.index:null);var aA=this._onPointDragging(az.getCoordPoint(),ay.index,1,1);if(aA){this._graphicsObject.splicePoints(aB[ay.index],1,this._toBounded(aA))}else{this._view.update()}};c._onEdgeDragStart=function(az){var ay=az.metaDataProperty.rec,aA=this._onPointDragging(ay.getPoint(),ay.prev.index+1,0,0);if(aA){this._editLines.setCoords(aA,this._getSiblingPoints(ay))}};c._onEdgeDrag=function(az){var ay=az.metaDataProperty.rec,aA=this._onPointDragging(az.getCoordPoint(),ay.prev.index+1,0,0);if(aA){this._editLines.setCoords(aA,this._getSiblingPoints(ay))}};c._onEdgeDragEnd=function(az){var ay=az.metaDataProperty.rec;this._editLines.hide();var aC=ay.prev,aB=az.getCoordPoint();this._removeLowLevelPoints(aC.index,aC.next.index);var aA=this._onPointDragging(aB,aC.index+1,0,1);if(aA){this._graphicsObject.splicePoints(aC.index+1,0,this._toBounded(aA))}else{this._view.update()}};c._removeLowLevelPoints=function(aE,aB){var ay=this._graphicsObject._points,aF=ay.getPoints(),aG=ay.getLevels(),aH=[],az=[],aI={};for(var aD=0,aC=0,aA=aF.length;aD<aA;aD++){if(((aE!=null&&((aE<aB&&aD>aE&&aD<aB)||(aE>aB&&(aD>aE||aD<aB))))||(aE==null&&aD<aB)||(aB==null&&aD>aE))&&aG[aD]>this._map.getZoom()&&q.inArray(aF[aD],this._options.lockedPoints)==-1){continue}aH.push(aF[aD]);az.push(aG[aD]);aI[aD]=aC;aC++}ay.setPoints(aH,az);return aI};c._enableDrawing=function(){this._options.drawing=1;this._drawingTool.enable();this._dblClickListener=l.observe(this._map,this._map.Events.BeforeDblClick,this._stopDrawingByDblClick,this);this._notifyGraphicsEvent(this._graphicsObject.Events.StartDrawing)};c._disableDrawing=function(){this._options.drawing=0;this._drawingTool.disable();this._drawLines.hide();this._dblClickListener.cleanup();this._view.update();this._notifyGraphicsEvent(this._graphicsObject.Events.StopDrawing)};c._stopDrawingByDblClick=function(az,ay){if(this._options.stopDrawingByDblClick&&this._lastAddDate&&new Date()-this._lastAddDate<ah.DBLCLICKTIME){if(this._options.drawing){if(!ay.isMapEventPrevented()){ay.preventMapEvent()}this._disableDrawing()}}};c._onDrawingMove=function(ay){this._drawLinesPeak=ay.getCoordPoint(1);if(ay.isMapEventPrevented()){this._drawLines.hide()}else{this._drawLinesUpdate()}};c._drawLinesUpdate=function(){var ay=this._onPointDrawing(this._drawLinesPeak,0);if(ay){this._drawLines.setCoords(ay,this._getSiblingPoints(this._getDrawLinesStructure()))}};c._onDrawingClick=i.NULL;c._onPointDrawing=function(aA,aC){if(this._options.onPointDrawing){var aB=this._map,az=this._getDrawFromPointIndex(),ay=q.map(this._graphicsObject.getDrawPixels(),function(aD){return aB.converter.coordinatesToMapPixels(aB.coordSystem.toCoordPoint(aD,1))});ay.splice(az,0,this._map.converter.coordinatesToMapPixels(aA));aA=this._options.onPointDrawing(ay,az,aC);aA=aA&&this._map.converter.mapPixelsToCoordinates(aA,1)}return aA};c._onPointDragging=function(aB,az,aA,aD){if(this._options.onPointDragging){var aC=this._map,ay=q.map(this._graphicsObject.getDrawPixels(),function(aE){return aC.converter.coordinatesToMapPixels(aC.coordSystem.toCoordPoint(aE,1))});ay.splice(az,aA?1:0,this._map.converter.coordinatesToMapPixels(aB));aB=this._options.onPointDragging(ay,az,aD);aB=aB&&this._map.converter.mapPixelsToCoordinates(aB,1)}return aB};c._getDrawFromPointIndex=i.NULL;c._getEndRec=i.NULL;c._getEndPointIndex=function(){return this._getEndRec().index};c._removeMarker=function(ay){this._clearPlacemarkContent(ay);o(ay.metaDataProperty.listeners,"cleanup");this._map.removeOverlay(ay)};c._clearPlacemarkContent=function(ay){var az=ay.getIconContent();if(az){q(az).remove();ay.setIconContent(null)}};c._createDashedLineStyle=function(){return f.Style.copy(this._graphicsStyle)};c._toBounded=function(ay){return this._map.coordSystem.getCoordPoint(ay.getX(),ay.getY())};c._getStructureRec=function(az,aA,aC){for(var aB=0,ay=az.length,aD;aB<ay;aB++){aD=az[aB];if(aD[aA]==aC){return aD}}};c._getSiblingPoints=function(ay){return q.map([ay.next,ay.prev],function(az){return az?az.getPoint():null})};c._notifyGraphicsEvent=function(ay){l.notify(this._graphicsObject,this._graphicsObject.Events[ay],this._graphicsObject)};var Z=function(ay){ah.call(this,ay);this._model=new B(this._graphicsObject,this);this._options.fromIndex=this._getDrawFromPointIndex();this._view=new X(this._model,this._map,this._vertexHandlers,this._edgeHandlers,this._options)};c=j(Z,ah);c.setOptions=function(ay){if(ay&&typeof ay.fromIndex!=p){this._realizeFromIndex(this._options.fromIndex=ay.fromIndex)}ah.prototype.setOptions.call(this,ay)};c._getDrawFromPointIndex=function(){return this._model.getVertices().length};c._realizeFromIndex=function(aB){var az=this._graphicsObject._points,aC=az.getPoints(),aE=az.getLevels(),aD=az.getNumPoints()-aB,ay=aC.splice(aB+1,aD),aA=aE.splice(aB+1,aD);if(ay.length){aC.splice.apply(aC,[0,0].concat(ay));aE.splice.apply(aE,[0,0].concat(aA));az.setPoints(aC,aE);this._graphicsObject.updateGraphics()}};c._createDashedLineStyle=function(){var aA=ah.prototype._createDashedLineStyle.call(this),ay=aA.lineStyle,az=aA.polygonStyle;ay.strokeColor=az.strokeColor;ay.strokeWidth=az.strokeWidth;return aA};c._getNativeMenuItems=function(az){var ay=ah.prototype._getNativeMenuItems.call(this,az);if((this._options.drawing&&az!=this._getEndPointIndex()||!this._options.drawing)&&this._getGraphicsPointsNum()<this._options.maxPoints){ay.push({id:f.GraphicsEditingMenuIDs.StartDrawing,title:b.hints.graphicsEditor.startDrawing,onClick:m(function(){this._realizeFromIndex(az);if(!this._options.drawing){this._enableDrawing()}},this)})}return ay};c._onDrawingClick=function(az){if(!az.isMapEventPrevented()){var aA=this._model.getVertices().slice(-1)[0];if(aA){this._removeLowLevelPoints(aA.index,aA.next.index)}var ay=this._onPointDrawing(az.getGeoPoint(),1);if(ay){this._graphicsObject.addPoint(this._toBounded(ay))}this._drawLines.hide();this._lastAddDate=new Date()}};c._getEndRec=function(){var ay=this._model.getVertices();return ay[ay.length-1]};c._getDrawLinesStructure=function(){var aA={},ay=this._model.getVertices(),az=ay[ay.length-1];if(az){aA.prev=az;aA.next=az.next}return aA};var am=function(ay){ah.call(this,ay);this._model=new ax(this._graphicsObject,this);this._options.fromStart=0;this._view=new X(this._model,this._map,this._vertexHandlers,this._edgeHandlers,this._options)};c=j(am,ah);c.setOptions=function(ay){if(ay&&typeof ay.fromStart!=p){this._options.fromStart=ay.fromStart}ah.prototype.setOptions.call(this,ay)};c._getDrawFromPointIndex=function(){return this._options.fromStart?0:this._model.getVertices().length};c._getNativeMenuItems=function(aA){var ay=ah.prototype._getNativeMenuItems.call(this,aA),az=this._model.getVertices();if((this._options.drawing&&aA!=this._getEndPointIndex()||!this._options.drawing)&&(aA==az[0].index||aA==az[az.length-1].index)&&this._getGraphicsPointsNum()<this._options.maxPoints){ay.push({id:f.GraphicsEditingMenuIDs.StartDrawing,title:b.hints.graphicsEditor.startDrawing,onClick:m(function(){this._options.fromStart=aA==az[0].index?1:0;if(!this._options.drawing){this._enableDrawing()}},this)})}return ay};c._onDrawingClick=function(aD){if(!aD.isMapEventPrevented()){var az=this._options.fromStart,aB=this._model.getVertices(),aF=az?aB[0]:aB[aB.length-1],ay=0,aC=null,aE=null;if(aF){if(az){aE=aF.index}else{aC=aF.index;ay=aC+1}this._removeLowLevelPoints(aC,aE)}var aA=this._onPointDrawing(aD.getGeoPoint(),1);if(aA){this._graphicsObject.splicePoints(ay,0,this._toBounded(aA))}this._drawLines.hide();this._lastAddDate=new Date()}};c._getEndRec=function(){var ay=this._model.getVertices();return ay[this._options.fromStart?0:ay.length-1]};c._getDrawLinesStructure=function(){var aA={},ay=this._model.getVertices(),aB=ay[0],az=ay[ay.length-1];if(aB&&az){aA.prev=this._options.fromStart?aB:az;aA.next=this._options.fromStart?aB.prev:az.next}return aA};var ac=function(ay){this._map=ay;this._listeners=[l.observe(ay,ay.Events.BeforeMouseMove,this._drawMapAutoPan,this),l.observe(ay,ay.Events.DragStart,this._onMapDragStart,this),l.observe(ay,ay.Events.DragEnd,this._onMapDragEnd,this)];q(document).bind("mousemove.ymaps-mapleave",m(function(az){this._drawMapAutoPan(ay,new f.MouseEvent(az,ay))},this))};c=ac.prototype;c._drawMapAutoPan=function(az,aA){var aH=this._map.converter.coordinatesToMapPixels(aA.getCoordPoint(1)),aD=this._map.converter.coordinatesToMapPixels(this._map.getCenter(1)),ay=this._map.getContainerSize().scale(0.5),aC=ay.copy().moveBy(new h(-20)),aE=new f.Bounds(aD.copy().moveBy(aC.neg()),aD.copy().moveBy(aC)),aB=new f.Bounds(aD.copy().moveBy(ay.neg()),aD.copy().moveBy(ay));if(aE.contains(aH)||!aB.contains(aH)){this._stopMapAutoPan()}else{if(!this._mapDraged){this._isMapPanned=1;var aF=aD.diff(aH),aI=aF.copy().apply(Math.abs),aG=new h(aI.getX()>aC.getX(),aI.getY()>aC.getY()).scale(aF.copy().scale(new h(1/aI.getX(),1/aI.getY())));this._map.startMove(aG,{startSpeed:4,speed:5})}}};c._onMapDragStart=function(){this._mapDraged=1};c._onMapDragEnd=function(){this._mapDraged=0};c._stopMapAutoPan=function(){if(this._isMapPanned){this._isMapPanned=0;this._map.stopMove()}};c.destructor=function(){this._stopMapAutoPan();o(this._listeners,"cleanup");q(document).unbind(".ymaps-mapleave")};var R=new function(){this.getIntersection=function(aL,aM,aE){var aA=aL.x,ay=aM.x,aK=aL.y,aI=aM.y,aF=0,aD=0,aJ=aE[0],aH=aE[1];if(aA<aJ.x){aF=aF|1}if(aA>aH.x){aF=aF|2}if(aK<aJ.y){aF=aF|4}if(aK>aH.y){aF=aF|8}if(ay<aJ.x){aD=aD|1}if(ay>aH.x){aD=aD|2}if(aI<aJ.y){aD=aD|4}if(aI>aH.y){aD=aD|8}var aG=((aF|aD)==0),az=((aF&aD)!=0),aB=!(aG||az),aC=false;while(!(aG||az)){if(aF==0){aC=!aC;var aN;aN=aA;aA=ay;ay=aN;aN=aK;aK=aI;aI=aN;aN=aF;aF=aD;aD=aN}if((aF&1)!=0){aK=aK+Math.floor((aI-aK)*(aJ.x-aA)/(ay-aA));aA=aJ.x}else{if((aF&2)!=0){aK=aK+Math.floor((aI-aK)*(aH.x-aA)/(ay-aA));aA=aH.x}else{if((aF&4)!=0){aA=aA+Math.floor((ay-aA)*(aJ.y-aK)/(aI-aK));aK=aJ.y}else{if((aF&8)!=0){aA=aA+Math.floor((ay-aA)*(aH.y-aK)/(aI-aK));aK=aH.y}}}}aF=0;if(aA<aJ.x){aF=aF|1}if(aA>aH.x){aF=aF|2}if(aK<aJ.y){aF=aF|4}if(aK>aH.y){aF=aF|8}aG=((aF|aD)==0);az=((aF&aD)!=0)}return{intersection:aG,clipping:aB,outs:az,to:new h(aC?aA:ay,aC?aK:aI),from:new h(aC?ay:aA,aC?aI:aK)}}};var at=new function(){var ay="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";this.encode4bytes=function(az){var aB=[];for(var aA=0;aA<4;aA++){aB[aA]=az&255;az=az>>8}return aB};this.encode=function(aC){var az=[],aK,aI,aG,aJ,aH,aF,aE,aB=0,aA=aC.length,aD=typeof aC=="string";while(aB<aA){if(aD){aK=aC.charCodeAt(aB++);aI=aC.charCodeAt(aB++);aG=aC.charCodeAt(aB++)}else{aK=aC[aB++];aI=aC[aB++];aG=aC[aB++]}aJ=aK>>2;aH=((aK&3)<<4)|(aI>>4);aF=((aI&15)<<2)|(aG>>6);aE=aG&63;if(isNaN(aI)){aF=aE=64}else{if(isNaN(aG)){aE=64}}az.push(ay.charAt(aJ),ay.charAt(aH),ay.charAt(aF),ay.charAt(aE))}return az.join("")};this.decode=function(aC){var az=[],aJ,aH,aF,aI,aG,aE,aD,aB=0,aA=(aC=aC.replace(/[^A-Za-z0-9\-_\=]/g,"")).length;while(aB<aA){aI=ay.indexOf(aC.charAt(aB++));aG=ay.indexOf(aC.charAt(aB++));aE=ay.indexOf(aC.charAt(aB++));aD=ay.indexOf(aC.charAt(aB++));aJ=(aI<<2)|(aG>>4);aH=((aG&15)<<4)|(aE>>2);aF=((aE&3)<<6)|aD;az.push(String.fromCharCode(aJ));if(aE!=64){az.push(String.fromCharCode(aH))}if(aD!=64){az.push(String.fromCharCode(aF))}}return az.join("")}}})();(function(){n=f.ConnectedPlacemarks=function(u){f.GeoObjectCollection.call(this,u);this._showLines=1;this._lines=new f.GeoObjectCollection();this._lines.onAddToGroup(this);this.__placemarkListeners=[]};c=j(n,f.GeoObjectCollection);c._onAddObject=function(y,w){f.GeoObjectCollection.prototype._onAddObject.call(this,y,w);if(w){if(w==this.length()-1){this._lines.add(new t([this.get(-2).getGeoPoint(),y.getGeoPoint()]))}else{this._lines.get(w-1).splicePoints(1,1,y.getGeoPoint())}}if(w!=this.length()-1){this._lines.splice(w,0,new t([y.getGeoPoint(),this.get(w+1).getGeoPoint()]))}var z=[],A=y.Events;z.push(l.observe(y,A.Drag,this._onPlacemarkPositionChange,this),l.observe(y,A.PositionChange,function(D,C){this._onPlacemarkPositionChange(D)},this));if(d.Graphics.SSG){var v,u,B,x;z.push(l.observe(y,A.DragStart,function(){var C=this.indexOf(y);v=C!=0?this._lines.get(C-1):null;u=this._lines.get(C);if(v){B=new s([v.getPoint(0),v.getPoint(1)]);this._lines.splice(C-1,1,B)}if(u){x=new s([u.getPoint(0),u.getPoint(1)]);this._lines.splice(C,1,x)}},this),l.observe(y,A.DragEnd,function(){var C=this.indexOf(y);if(B){v.splicePoints(0,2,B.getPoint(0),B.getPoint(1));this._lines.splice(C-1,1,v)}if(x){u.splicePoints(0,2,x.getPoint(0),x.getPoint(1));this._lines.splice(C,1,u)}v=u=B=x=null},this))}this.__placemarkListeners.splice(w,0,z)};c._onRemoveObject=function(w,v){f.GeoObjectCollection.prototype._onRemoveObject.call(this,w,v);o(this.__placemarkListeners.splice(v,1)[0],"cleanup");if(v!=0){var u=this._lines.get(v-1),x=this.get(v);if(x){u.splicePoints(1,1,x.getGeoPoint())}else{this._lines.remove(u)}}if(v!=this.length()){this._lines.remove(this._lines.get(v))}};c._onPlacemarkPositionChange=function(w){var v=this.indexOf(w);if(v!=-1){var u=null,x=this.get(v).getGeoPoint();if(v!=0&&(u=this._lines.get(v-1))){u.splicePoints(0,2,this.get(v-1).getGeoPoint(),x)}if((u=this._lines.get(v))){u.splicePoints(0,2,x,this.get(v+1).getGeoPoint())}}};c.update=function(){f.GeoObjectCollection.prototype.update.call(this);this._lines.update()};c.onAddToMap=function(u,v){f.GeoObjectCollection.prototype.onAddToMap.call(this,u,v);if(this._showLines){this._lines.onAddToMap(u,v)}};c.onRemoveFromMap=function(){f.GeoObjectCollection.prototype.onRemoveFromMap.call(this);if(this._showLines){this._lines.onRemoveFromMap()}};c.setLineVisible=function(u){if(this._showLines!=u){this._showLines=u;if(this.getMap()){if(u){this._lines.onAddToMap(this.getMap(),this.getParentContainer())}else{this._lines.onRemoveFromMap()}}}};c.getLineVisible=function(){return this._showLines};c.onMapUpdate=function(){f.GeoObjectCollection.prototype.onMapUpdate.call(this);if(this._showLines){this._lines.onMapUpdate()}};var t=function(u){f.Polyline.call(this,u,{interactive:f.Interactivity.NONE});this._getDrawPixels=r};c=j(t,f.Polyline);var s=function(u){f.PaintPolyline.call(this,u);this._getDrawPixels=r};c=j(s,f.PaintPolyline);var r=function(u,v,w){return q.map(u,function(x){return w.coordSystem.fromCoordPoint(x,w.getCenter(1))})}})();n=d.AItemContainer=function(r){f.Group.call(this);this.__$itemContainers=new f.Group();f.Events.observe(this,this.Events.Add,this.__onAddItem,this),f.Events.observe(this,this.Events.Remove,this.__onRemoveItem,this);if(r!=p){this.add(r)}};c=j(n,f.Group);c.makeContainer=i.NULL;c.makeItemContainer=i.NULL;c.getContentNode=i.NULL;c.getItemContentNode=i.NULL;c.getToolBar=function(){return this};c.getElement=function(){return this.__$element};c.getItemElement=function(r){return this.__$itemContainers.get(r)};c.__onAddItem=function(t,s,r){this.__$itemContainers.add(this.makeItemContainer(),r);if(this.__parentContainer){this.__buildItem(r)}};c.__buildItem=function(t){var s=this.getContentNode(),r=this.getItemElement(t),u=this.getItemContentNode(t);if(t>=q(s).children().length){r.appendTo(s)}else{r.insertBefore(this.getItemElement(t+1))}this.get(t).onAddToToolBar(this.getToolBar(),u,this)};c.__onRemoveItem=function(t,s,r){if(this.__parentContainer){this.__unbuildItem(s,r)}this.__$itemContainers.splice(r,1)};c.__unbuildItem=function(s,r){s.onRemoveFromToolBar();this.getItemElement(r).remove()};c.onAdd=function(t){this.__parentContainer=t;this.__$element=this.makeContainer().appendTo(t);for(var s=0,r=this.length();s<r;s++){this.__buildItem(s)}};c.onRemove=function(){for(var s=0,r=this.length();s<r;s++){this.__unbuildItem(this.get(s),s)}this.__$element.remove();this.__parentContainer=null};n=f.ToolBarSeparator=function(r){this._width=parseInt(r,10);if(isNaN(this._width)){this._width=20}};c=n.prototype;c.onAddToToolBar=function(r,s){this._toolBar=r;this._parentContainer=s;q(s).css("width",this._width).addClass("YMaps-tool-bar-separator")};c.onRemoveFromToolBar=function(){this._toolBar=this._parentContainer=null};n=f.ToolBarButton=function(s,r){this._content=q.extend({hint:null,caption:null,icon:null,width:null},s);this._options=q.extend({selected:0,enabled:1,shown:1},r);if(this._options.selected&&!this._options.enabled){this._options.enabled=1}this._listeners=[];this._toolBar=null};c=n.prototype;c.hoverCSSClassName="YMaps-button_hover";c.activeCssClassName="YMaps-button_active";c.disabledCssClassName="YMaps-button_disable";c.Events={Click:"Click"};c.getContent=function(){return this._content};c.setContent=function(r){this._content=r||{};if(this._toolBar){this._applyTemplate()}};c._applyTemplate=function(){var y=q(this._parentContainer),v=this._content,x=v.hint||"",w='alt="'+x+'" title="'+x+'"',u=v.icon||null,r=v.caption||(u?"":"&#160;"),s='<i class="YMaps-button-c YMaps-button-l"><i></i></i><i class="YMaps-button-m"><i></i>',t;if(x){y.attr("title",x)}if(u){if(g.msie&&g.version<7){s+='<b class="YMaps-button-opacity"></b><img class="YMaps-icon" src="'+b.images.transparentImage+'" '+w+' style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+u+');"/>'}else{s+='<img class="YMaps-icon"'+w+' src="'+u+'"/>'}}if(r){s+='<span class="YMaps-button-caption">'+r+"</span>"}s+='</i><i class="YMaps-button-c YMaps-button-r"><i></i></i>';y.addClass("YMaps-button").html(s);if(v.width&&!isNaN(t=parseInt(v.width,10))){y.find(".YMaps-button-m").css("width",t)}this._applyState()};c._applyState=function(){if(this._toolBar){q(this._parentContainer)[this._options.shown?"removeClass":"addClass"]("YMaps-display-none")[this._options.selected?"addClass":"removeClass"](this.activeCssClassName)[this._options.enabled?"removeClass":"addClass"](this.disabledCssClassName);this._applyCursor()}};c._applyCursor=function(){if(this._toolBar){q(this._parentContainer).find(".YMaps-button-m")[this._options.enabled?"addClass":"removeClass"]("YMaps-cursor-pointer")}};c.onAddToToolBar=function(r,t){this._toolBar=r;this._parentContainer=t;this._applyTemplate();var v=q(t),s=this.hoverCSSClassName,u=this;v.bind("click",m(function(w){if(u._options.enabled){l.notify(this,this.Events.Click,this)}},this)).bind("mouseenter",function(){v.addClass(s)}).bind("mouseleave",function(){v.removeClass(s)})};c.onRemoveFromToolBar=function(){if(this._toolBar){o(this._listeners,"cleanup");this._listeners=[];q(this._parentContainer).empty();this._toolBar=this._parentContainer=null}};c.getToolBar=function(){return this._toolBar};c.show=function(){if(!this._options.shown){this._options.shown=1;this._applyState()}};c.hide=function(){if(this._options.shown){this._options.shown=0;this._applyState()}};c.isShown=function(){return this._options.shown};c.select=function(){if(!this._options.selected&&this._options.enabled){this._options.selected=1;this._applyState()}};c.deselect=function(){if(this._options.selected){this._options.selected=0;this._applyState()}};c.isSelected=function(){return this._options.selected};c.enable=function(){if(!this._options.enabled){this._options.enabled=1;this._applyState()}};c.disable=function(){if(this._options.enabled&&!this._options.selected){this._options.enabled=0;this._applyState()}};c.isEnabled=function(){return this._options.enabled};n=f.ToolBarToggleButton=function(s,r){f.ToolBarButton.call(this,s,r)};c=j(n,f.ToolBarButton);c.Events.Select="Select";c.Events.Deselect="Deselect";c.onAddToToolBar=function(r,s){f.ToolBarButton.prototype.onAddToToolBar.call(this,r,s);this._listeners.push(l.observe(this,this.Events.Click,this._onClick))};c._onClick=function(){this[this.isSelected()?"deselect":"select"]()};c.select=function(){if(!this.isSelected()&&this.isEnabled()){f.ToolBarButton.prototype.select.call(this);l.notify(this,this.Events.Select,this)}};c.deselect=function(){if(this.isSelected()){f.ToolBarButton.prototype.deselect.call(this);l.notify(this,this.Events.Deselect,this)}};n=f.ToolBarRadioButton=function(s,t,r){this._groupId=s;f.ToolBarToggleButton.call(this,t,r)};c=j(n,f.ToolBarToggleButton);c.getGroupId=function(){return this._groupId};c._onClick=function(){if(!this.isSelected()){this.select()}};c.select=function(){if(!this.isSelected()&&this.isEnabled()){var r=null;if(this._toolBar){var s=this;q.each(s._toolBar.getByGroupId(s.getGroupId()),function(){if(this!=s&&this.isSelected()){this.deselect();r=this}})}this._options.selected=1;this._applyState();l.notify(this,this.Events.Select,this,r)}};c._applyCursor=function(){if(this._toolBar){q(this._parentContainer).find(".YMaps-button-m")[(this._options.enabled&&!this._options.selected)?"addClass":"removeClass"]("YMaps-cursor-pointer")}};n=f.ListBoxItem=function(r){this._caption=r||""};c=n.prototype;c.hoverCSSClassName="YMaps-btn-list-item_hover";c.Events={Click:"Click"};c._applyTemplate=function(){q('<a href="javascript:void(0)">'+this._caption+"</a>").appendTo(this._$parentContainer)};c.onAddToToolBar=function(r,t,s){var u=this;this._toolBar=r;this._listBox=s;this._$parentContainer=q(t).bind("mouseenter",function(){u._$parentContainer.addClass(u.hoverCSSClassName)}).bind("mouseleave",function(){u._$parentContainer.removeClass(u.hoverCSSClassName)}).bind("click",function(v){l.notify(u,u.Events.Click,u);v.preventDefault()});this._applyTemplate()};c.onRemoveFromToolBar=function(){this._$parentContainer.empty().unbind();this._$parentContainer=this._toolBar=this._listBox=null};c.getListBox=function(){return this._listBox};c.setCaption=function(r){this._caption=r;if(this._toolBar){this._$parentContainer.html(r)}};c.getCaption=function(){return this._caption};n=f.ListBoxToggleItem=function(r,s){f.ListBoxItem.call(this,r);this.__selected=!!s;if(g.msie){var t=this;this.__ieChangeListener=function(){window.setTimeout(function(){t.__applyState()},0)}}};c=j(n,f.ListBoxItem);c.Events.Select="Select";c.Events.Deselect="Deselect";c._applyTemplate=function(){this._$parentContainer.addClass("YMaps-cursor-pointer").html('<input type="checkbox"'+(this.__selected?'checked="checked" ':"")+"/><span>"+this._caption+"</span>");this.__applyState()};c.__applyState=function(){if(this._toolBar){this._$parentContainer.find("input").attr("checked",this.__selected?"checked":null)}};c.onAddToToolBar=function(r,u,t){f.ListBoxItem.prototype.onAddToToolBar.call(this,r,u,t);var v=this,s=this._$parentContainer.find("input");s.bind("click",function(w){l.notify(v,v.Events.Click,v);w.stopPropagation()});if(g.opera&&g.version<9.5){s.bind("change",function(){v.__applyState()})}else{if(g.msie){s[0].onpropertychange=this.__ieChangeListener}}this.__clickListener=f.Events.observe(this,this.Events.Click,function(){v[v.isSelected()?"deselect":"select"]()})};c.onRemoveFromToolBar=function(){this.__clickListener.cleanup();if(g.msie){this._$parentContainer.find("input").onpropertychange=null}f.ListBoxItem.prototype.onRemoveFromToolBar.call(this)};c.setCaption=function(r){this._caption=r;if(this._toolBar){this._$parentContainer.find("span").html(r)}};c.select=function(){if(!this.__selected){this.__selected=1;this.__applyState();l.notify(this,this.Events.Select,this)}};c.deselect=function(){if(this.__selected){this.__selected=0;this.__applyState();l.notify(this,this.Events.Deselect,this)}};c.isSelected=function(){return this.__selected};(function(){n=f.ToolBar=function(s){this.__map=null;s=s||[new f.ToolBar.MoveButton(),new f.ToolBar.MagnifierButton(),new f.ToolBar.RulerButton()];d.AItemContainer.call(this,s)};c=j(n,d.AItemContainer);n.DEFAULT_GROUP="default";n.MoveButton=r("move",0,1);n.MagnifierButton=r("magnifier",1,0);n.RulerButton=r("ruler",1,0);c.makeContainer=function(){return q('<div class="YMaps-buttons"></div>')};c.makeItemContainer=function(){return q('<div class="YMaps-button"></div>')};c.getContentNode=function(){return this.getElement()[0]};c.getItemContentNode=function(s){return this.getItemElement(s)[0]};c.onAddToMap=function(s,t){this.__map=s;d.AItemContainer.prototype.onAdd.call(this,s.getContainer());(t||new f.ControlPosition(f.ControlPosition.TOP_LEFT,new f.Point(5,5))).apply(this.__$element[0])};c.onRemoveFromMap=function(){d.AItemContainer.prototype.onRemove.call(this)};c.getMap=function(){return this.__map};c.getByGroupId=function(s){return this.filter(function(t){return t.getGroupId&&t.getGroupId()==s})};function r(t,s,u){return function(){var w=new f.ToolBarRadioButton(f.ToolBar.DEFAULT_GROUP,{hint:b.hints.toolBar[t],icon:(g.msie&&g.version<7)?b.images.toolBar.iconSprite:b.images.transparentImage,width:"19"},{selected:u});w._applyTemplate=function(){f.ToolBarRadioButton.prototype._applyTemplate.call(this);q(this._parentContainer).find("img").addClass("YMaps-icon_"+t)};if(s){var v=t.charAt(0).toUpperCase()+t.substr(1).toLowerCase();w.onAddToToolBar=function(x,y){f.ToolBarRadioButton.prototype.onAddToToolBar.call(this,x,y);this._listeners=[l.observe(this,this.Events.Select,function(){x.getMap()["enable"+v]()}),l.observe(this,this.Events.Deselect,function(){x.getMap()["disable"+v]()})]};w.onRemoveFromToolBar=function(){o(this._listeners,"cleanup");f.ToolBarRadioButton.prototype.onRemoveFromToolBar.call(this)}}return w}}})();n=f.ListBox=function(r){this.__options=q.extend({modifier:"",width:140,caption:""},r);this.__modifiers={color:this.__options.modifier,state:""};this.__expanded=0;d.AItemContainer.call(this)};c=j(n,d.AItemContainer);c.__baseCSSClass="YMaps-btn";c.__collapseTimeout=3000;c.__getCSSModifiers=function(){var r=this.__modifiers.color,t=this.__modifiers.state,s=this.__baseCSSClass+"_";if(r){if(t){return s+[r,t,r+"-"+t].join(" "+s)}else{return s+r}}else{if(t){return s+t}}return""};c.makeContainer=function(){var s=this.__options.caption||"&#160",r=this.__modifiers.color=="green"?"YMaps-btn-name_green":"YMaps-btn-name_layers";return q("<div />").addClass("YMaps-cursor-pointer "+this.__baseCSSClass+" "+this.__getCSSModifiers()).html('<i class="YMaps-btn-round"><i class="YMaps-btn-l YMaps-btn-t"><i></i><b></b></i><i class="YMaps-btn-r YMaps-btn-t"><i></i><b></b></i></i><div class="YMaps-btn-v"><div class="YMaps-btn-h"><div class="YMaps-btn-i" style="width:'+this.__options.width+'px;">                 <div class="YMaps-btn-reduce">                     <a class="YMaps-btn-name '+r+'" href="javascript:void(0)">                        <span class="YMaps-btn-caption">'+s+'</span><i class="YMaps-arr"><i></i></i>                     </a>                 </div>                 <div class="YMaps-btn-expand">                     <a class="YMaps-btn-name YMaps-btn-name_layers" href="javascript:void(0)">                        <span class="YMaps-btn-caption">'+s+'</span><i class="YMaps-arr"><i></i></i>                     </a>                     <ul class="YMaps-btn-list YMaps-btn-list_hover"></ul>                </div>         </div></div></div>         <i class="YMaps-btn-round"><i class="YMaps-btn-l YMaps-btn-b"><i></i><b></b></i><i class="YMaps-btn-r YMaps-btn-b"><i></i><b></b></i></i>')};c.makeItemContainer=function(){return q('<li class="YMaps-btn-list-item"></li>')};c.getContentNode=function(){return this.getElement().find(".YMaps-btn-list")[0]};c.getItemContentNode=function(r){return this.getItemElement(r)[0]};c.onAddToToolBar=function(s,u){this.__toolBar=s;d.AItemContainer.prototype.onAdd.call(this,u);if(this.__expanded){this.expand()}var v=this,t=s.getMap();this.getElement().find(".YMaps-btn-name").bind("click",function(w){v[v.__expanded?"collapse":"expand"]();w.preventDefault()});if(g.msie&&(g.version<8||document.documentMode<8)){var r=this.getElement().find(".YMaps-arr");this.getElement().find(".YMaps-btn-name").bind("mouseenter",function(){r.addClass("YMaps-arr_hover")}).bind("mouseleave",function(){r.removeClass("YMaps-arr_hover")})}this.__destructListener=l.observe(t,t.Events.Destruct,function(){this.onRemoveFromToolBar()},this)};c.onRemoveFromToolBar=function(){this.__cancelCollapse();this.__stopMapListening();this.__destructListener.cleanup();this.__toolBar=null;d.AItemContainer.prototype.onRemove.call(this);this.getElement().empty()};c.getCaption=function(){return this.__options.caption};c.setCaption=function(r){this.__options.caption=r;if(this.__toolBar){this.getElement().find(".YMaps-btn-caption").html(r)}};c.expand=function(){this.__expanded=1;this.setModifier({state:"expanded"});if(this.__toolBar){var s=this,r=this.__toolBar.getMap();this.getElement().bind("mouseover",function(){s.__onMouseOver()}).bind("mouseout",function(){s.__onMouseOut()});this.__mapClickListener=l.observe(r,r.Events.Click,function(){this.collapse()},this)}};c.collapse=function(){this.__cancelCollapse();this.__expanded=0;this.setModifier({state:""});if(this.__toolBar){this.getElement().unbind("mouseover mouseout");this.__stopMapListening();if(this.__collapseHandler){window.clearTimeout(this.__collapseHandler);this.__collapseHandler=null}}};c.isExpanded=function(){return this.__expanded};c.__onMouseOver=function(){this.__cancelCollapse()};c.__onMouseOut=function(){this.__planCollapse()};c.__planCollapse=function(){var r=this;this.__cancelCollapse();if(this.__expanded){this.__collapseHandler=window.setTimeout(function(){r.collapse()},this.__collapseTimeout)}};c.__cancelCollapse=function(){if(this.__collapseHandler){window.clearTimeout(this.__collapseHandler);this.__collapseHandler=null}};c.__stopMapListening=function(){if(this.__mapClickListener){this.__mapClickListener.cleanup();this.__mapClickListener=null}};c.setModifier=function(t){var r=this.__getCSSModifiers();for(var s in t){this.__modifiers[s]=t[s]}if(this.getToolBar()){this.getElement().removeClass(r).addClass(this.__getCSSModifiers())}};c.getToolBar=function(){return this.__toolBar};d.Zoomer=function(H){var K=0,z=null,F=1,D=20,B=300,A=(g.opera&&g.version<9.5)?0:4,I=[],y=null,C=0,r=null;this.zoomTo=function(M,L){var N=x(L);if(C){if(!N.smooth){E()}J(f.State.FAILURE)}r=N;G(M)};this.zoomBy=function(L,M){this.zoomTo(t()+L,M)};this.applyZoom=function(L){if(C){E();J(f.State.FAILURE)}L=H._inited?i.boundaryRestrict(L,H.getMinZoom(),H.getMaxZoom()):Number(L);H._state.zoom=L};this.stop=function(){if(C){E();J(f.State.FAILURE)}};function J(M){if(r&&r.callback){var L=r.callback;r.callback=null;L(M)}}function x(L){return q.extend({position:null,centering:0,callback:null,smooth:0},L)}function w(N,M){var L=new f.Point(-1e-10,-1e-10),O=H.coordSystem.getCoordBounds(M.copy().moveBy(L),M.copy().moveBy(L.neg()));return i.boundaryRestrict(N,H.getMinZoom(O),H.getMaxZoom(O))}function t(){return z===null?H.getZoom():z}function s(L){z=L}function G(N){if(H._inited||(r.position&&r.centering)){var L=u(N),O=w(N,L),M=O-t();if(r.smooth&&H._inited&&Math.abs(N-O)<3){if(O==t()&&r.position&&r.centering){H.panTo(r.position,r)}else{v(O,M)}}else{H.setCenter(L,O);J(f.State.SUCCESS)}}else{H._state.zoom=N;J(f.State.SUCCESS)}}function u(M){if(r.position){if(r.centering){return H._restrictCenter(r.position)}else{var N=H._state.centerInTiles.diff(H.coordSystem.fromCoordPoint(r.position,H.getCenter())),L=M-H.getZoom();if(L<0){N.scale(Math.pow(2,Math.abs(L))-1);N=N.neg()}else{N.scale((Math.pow(2,L)-1)/Math.pow(2,L))}return H._restrictCenter(H.coordSystem.toCoordPoint(N.moveBy(H._state.centerInTiles),1))}}else{return H.getCenter()}}function v(V,L){var Q=L>0?1:-1,P=r.position||H.getCenter();function R(X){var W=T(X);for(var Y=0;Y<A;Y++){F+=W;I.push({centering:r.centering,saveThisPosition:P,scaleCoefficient:F})}}function T(W){return(W*Math.pow(2,(W<0?--K:K++))/A)}function N(){var W=I.shift();if(W){if(W.centering){W.centeringShiftPart=1/(I.length+1)}U(W);y=window.setTimeout(S,D)}else{y=null;E();J(f.State.SUCCESS)}}function U(W){H._smoothZoomTick(W)}function S(){y=null;N()}if(V!=t()){s(V);for(var O=0,M=Math.abs(L);O<M;O++){R(Q)}if(!C){C=1;H._smoothZoomStart();if(A){N()}else{y=window.setTimeout(function(){N()},B)}}}else{J(f.State.SUCCESS)}}function E(){if(y){window.clearTimeout(y);y=null}H._state.zoom=t();H._smoothZoomEnd(u(K+H.getZoom()));K=0;F=1;C=0;I=[];s(null)}this._destruct=function(){if(C){E();J(f.State.FAILURE)}};l.observe(H,H.Events.Destruct,this._destruct,this)};d.SmoothMoving=function(r){this._map=r;l.observe(r,r.Events.Destruct,this._destruct,this);this._actionHandler=m(this._actionHandler,this)};c=d.SmoothMoving.prototype;c.isActive=function(){return !!this._tickIntervalID};c.start=function(r,s){if(this._tickIntervalID){this._stop(1)}var t=this._options=q.extend({speedUpTime:120,startSpeed:5,speed:37,timeout:20,nonstop:0},s);this._startZoom=this._map.getZoom();this._currentPosition=this._map._state.centerInTiles.copy();this._pixelOffset=r;if(!this._tickIntervalID){this._currentSpeed=t.startSpeed;this._setTickInterval();this._map._moveStart()}this._speedIncrement=(t.speed-this._currentSpeed)/(t.speedUpTime/t.timeout)};c.stop=function(r){if(this._tickIntervalID){clearInterval(this._tickIntervalID);this._tickIntervalID=null;this._stop(r);this._map._moveEnd()}};c._stop=function(r){this.callback(r?f.State.FAILURE:f.State.SUCCESS)};c.callback=function(s){if(this._options.callback){var r=this._options.callback;this._options.callback=null;r(s)}};c._setTickInterval=function(){this._tickIntervalID=setInterval(this._actionHandler,this._options.timeout)};c._actionHandler=function(){var r=this._action();if(r!=1){this.stop(r==-1)}};c._action=function(){var x=this._map._state.centerInTiles,t=this._pixelOffset,s=-1;if(this._currentPosition.equals(x)&&this._startZoom==this._map.getZoom()){var u=this._options,w=Math.sqrt(t.x*t.x+t.y*t.y),r=t.copy().scale(w?1/w:1);if(this._currentSpeed!=u.speed){this._currentSpeed+=this._speedIncrement;this._currentSpeed=Math[this._speedIncrement>0?"min":"max"](u.speed,this._currentSpeed)}var v=r.scale(this._currentSpeed);if(u.nonstop){s=1}else{v.apply(Math.round);s=this._pixelOffset.distance(new h())>v.distance(new h());if(!s){v=this._pixelOffset}this._pixelOffset=v.diff(this._pixelOffset)}if(this._options.moveCallback){this._options.moveCallback()}this._map._move(v);if(s){this._currentPosition=x.copy()}}return s};c._destruct=function(){this.stop(1);this._map=this._pixelOffset=this._currentPosition=this._tickIntervalID=this._speedIncrement=this._currentSpeed=this._vector=this._startZoom=null};n=f.ControlPosition=function(r,s){this.anchor=this._normalizeAnchor(r);this.offsets=this._normalizeOffsets(s||new f.Point())};n.TOP_LEFT=0;n.TOP_RIGHT=1;n.BOTTOM_LEFT=2;n.BOTTOM_RIGHT=3;n.prototype={_normalizeAnchor:function(r){return(isNaN(Number(r))?0:r%4)},_normalizeOffsets:function(r){return[this._normalizeCoordinate(r.x),this._normalizeCoordinate(r.y)]},_normalizeCoordinate:function(s){var r=Number(s||0);return isNaN(r)?s:r+"px"},apply:function(r){q(r).css(this.anchor&1?"right":"left",this.offsets[0]).css(this.anchor&2?"bottom":"top",this.offsets[1])}};d.DraggingControl=function(B){var s,y,z,x,u,A,t=B;this.onAddToMap=function(D){s=D;A=[];u=new i.DragAndDrop.MouseMove(t,0,b.tremor.draggingControl,s);(this.onAddToMap=v).call(this)};function v(){this._beginListening();s.addCursor("grab")}this._beginListening=function(){u.beginListening();A.push(l.observe(u,"start",w),l.observe(u,"move",r),l.observe(u,"stop",C));x=l.observe(s,s.Events.Destruct,this._destruct,this)};this.onRemoveFromMap=function(){this._stopListening();s.removeCursor("grab")};this._stopListening=function(){u.stopListening();o(A,"cleanup");A=[];x.cleanup();if(y){C()}};function w(E){s._state.cache=true;z=0;var D=new h(E.clientX,E.clientY);y=s.converter.clientPixelsToLocalPixels(D);s.addCursor("grabbing")}function r(E){var F=s.converter.clientPixelsToLocalPixels(new h(E.clientX,E.clientY)),D=F.diff(y);if(!z){z=1;s._dragStart();s._moveStart()}s._move(D);s._drag(D);y=F}function C(){s._state.cache=false;s.removeCursor("grabbing");y=null;if(z){s._moveEnd();s._dragEnd()}}this._destruct=function(){if(s){this.onRemoveFromMap();s=y=null}}};d.ScrollZoomControl=function(){var x,r,w,u={smooth:true},v=3,s=0;this.onAddToMap=function(z,A,B){x=z;r=l.observe(x,x.Events.DOMMouseScroll,t,this,0);(this.onAddToMap=y).call(this,z,A,B)};function y(z,A,B){w=l.observe(x,x.Events.Destruct,this._destruct,this);r.enable();if(B){u=q.extend({},u,B)}}function t(A,C){var z=C.getEvent();var B=i.sign(z.deltaY);if(B){s+=B;if(Math.abs(s)<v){A.zoomBy(B,{smooth:u.smooth,position:C.getCoordPoint(1),callback:function(D){if(D==f.State.SUCCESS){s=0}}})}}z.preventDefault()}this.onRemoveFromMap=function(){w.cleanup();r.disable();s=0};this._destruct=function(){this.onRemoveFromMap();if(x){r.cleanup()}x=r=null}};d.DblClickZoomControl=function(){var w,u=[],s,r;this.onAddToMap=function(z,B,C){w=z;if(q.os.name=="mac"&&g.mozilla&&g.version>1.8){x=function(E,D){t(D.getEvent())};function A(F,E){var D=E.getEvent();if(D.which==3){y(D)}}u.push(l.observe(w,w.Events.MouseUp,A))}u.push(l.observe(w,w.Events.DblClick,v,this),l.observe(w,w.Events.ContextMenu,x,this));(this.onAddToMap=function(D,E,F){o(u,"enable");r=q.extend({smooth:1},F)})(z,B,C)};function v(A,z){A.zoomBy(1,{smooth:r.smooth,position:z.getGeoPoint(),centering:1})}function y(A){var B=new Date();if(s&&(B-s<500)){var z=w.converter.clientPixelsToCoordinates(new h(A.clientX,A.clientY));w.zoomBy(-1,{smooth:r.smooth,position:z,centering:1});B=null}s=B}function t(z){z.preventDefault()}function x(z,A){y(A.getEvent());t(A.getEvent())}this.onRemoveFromMap=function(){s=null;o(u,"disable")}};d.MagnifierControl=function(F,w){var G,u,r,I,D,A,t={smooth:0},x,z;this.onAddToMap=function(J,K,L){G=J;u=q("<div />").addClass("YMaps-select-frame").css({display:"none","z-index":f.ZIndex.CONTROL-1})[0];G.getContainer().appendChild(u);x=new i.DragAndDrop.MouseMove(F,w,{},G);(this.onAddToMap=s).call(this,J,K,L)};function s(J,K,L){if(!w){G.addCursor("zoom")}q(document).bind("keydown","esc",E);x.beginListening();z=[l.observe(x,"start",H),l.observe(x,"move",v),l.observe(x,"stop",C)];A=l.observe(G,G.Events.Destruct,this._destruct,this);if(L){t=q.extend({},t,L)}}function H(J){I=G.converter.clientPixelsToLocalPixels(new h(J.clientX,J.clientY))}function v(K){D=G.converter.clientPixelsToLocalPixels(new h(K.clientX,K.clientY));var L=I.copy(),J=L.diff(D);if(!J.x||!J.y){q(u).css("display","none");return}if(J.x<0){L.moveByX(J.x);J.scaleX(-1)}if(J.y<0){L.moveByY(J.y);J.scaleY(-1)}i.position(u,L);i.size(u,J);q(u).css("display","")}function C(J){D=G.converter.clientPixelsToLocalPixels(new h(J.clientX,J.clientY));B(D);y()}function E(J){if(I){x.abort();y();J.preventDefault()}}function y(){q(u).css("display","none");I=null}function B(P){if(P.equals(I)){if(!w){G.setCenter(G.converter.localPixelsToCoordinates(P),G.getZoom()+1)}}else{var J=new f.CollectionBounds([I,P]),K=G.converter.localPixelsToCoordinates(J.getCenter()),L=G.getContainerSize(),O=J.getSpan(),N=L.x/O.x,M=L.y/O.y,Q=Math.floor(Math.log(Math.min(N,M))/Math.LN2),R=G.getZoom()+(Q>0?Q:0);G.setZoom(R,{smooth:t.smooth,position:K,centering:1})}}this.onRemoveFromMap=function(){A.cleanup();if(I){y()}if(!w){G.removeCursor("zoom")}q(document).unbind("keydown","esc",E);x.stopListening();o(z,"cleanup")};this._destruct=function(){if(G){this.onRemoveFromMap()}I=z=r=u=G=null}};d.RightButtonMagnifierControl=function(r){return new d.MagnifierControl(r,1)};d.HotKeysControl=function(J){var P,I,C=[],s=0,y=0,G=0,v,H,z=0,w=0,u={zoomTimeout:300,startSpeed:1,speed:15,speedUpTime:1100,smooth:0,moveCallback:function(){if(z){P._drag()}},callback:function(){if(z&&!w){F();P._dragEnd()}w=0}},S={63234:37,63232:38,63235:39,63233:40},A={};function M(T){u=q.extend({},u,T)}M(J);this.onAddToMap=function(T,W,U){P=T;I=q("<button />").addClass("YMaps-hot-keys-focus-holder");var V=P.Events;C=l.observe(P,[V.DragEnd,V.Click],function(){I[0].focus()});C.push(l.observe(P,V.Update,F),l.observe(P,V.Destruct,this._destruct,this));(this.onAddToMap=t).call(this,T,W,U)};function t(T,V,W){I.appendTo(P.getContainer());I.bind("blur",F);q(window).bind("blur",F);var U=g.opera?"keypress":"keydown";q.each(["up","right","down","left","shift+up","shift+right","shift+down","shift+left"],function(){var X=this.toString();I.bind(U,X,E).bind("keyup",X,L)});q.each(["+","="],function(){I.bind(U,this.toString(),N)});I.bind(U,{key:"+",shift:true},N);q.each(["-","_"],function(){I.bind(U,this.toString(),D)});I.bind(U,{key:"-",shift:true},D);o(C,"enable");if(W){M(W)}}this.onRemoveFromMap=function(){F();I.remove();o(C,"disable")};function E(U){var T=Q(U);if(A[T]){clearTimeout(A[T]);delete A[T]}B(T,U.shiftKey);U.preventDefault()}function B(W,T){var V=y,X=s,U=G;G=T;if(W&1){y=W&2?1:-1}else{s=W&2?-1:1}if(G!=U||V!=y||X!=s){O()}}function L(U){var T=Q(U);A[T]=setTimeout(function(){delete A[T];R(T,U.shiftKey)},50);U.preventDefault()}function R(U,T){G=T;if(U&1){y=0}else{s=0}if(y||s){O()}else{F()}}function Q(U){var T=U.charCode||U.keyCode;return g.webkit&&g.version<=523.15?S[T]:T}function O(){if(!z){P._dragStart();z=1}else{w=1}if(G&&!g.opera){var T=q.extend({},u);T.startSpeed=T.speed;P.startMove(new h(y,s),T)}else{P.startMove(new h(y,s),u)}}function F(){y=s=0;if(z){P.stopMove();z=0}for(var T in A){if(A.hasOwnProperty(T)){clearTimeout(A[T])}}A={}}function N(){r(1)}function D(){r(-1)}function r(T){var U=(H||P.getZoom())+T;if(!(U<P.getMinZoom()||U>P.getMaxZoom()||U==P.getZoom())){H=U;K()}}function K(){if(v){clearTimeout(v)}v=setTimeout(x,u.zoomTimeout)}function x(){v=null;P.setZoom(H,{smooth:u.smooth});H=null}this._destruct=function(){this.onRemoveFromMap();o(C,"cleanup");q(window).unbind("blur",F);P=I=C=null}};d.CopyrightsControl=function(){var r,D,A,y,s,v,x,t=[];this.onAddToMap=function(E){r=E;var F=r.getContainer();s=q('<div style="'+B("absolute","block","none",{height:20,width:51})+'"><a href="javascript:void(0)" target="_blank" class="YMaps-logo-link" style="'+B("absolute","block","none",{height:20,width:51})+'"><i style="'+B("absolute",null,"none",{height:106,width:56})+'"></i></a></div>').appendTo(F);v=s.find(".YMaps-logo-link");if(g.msie){v.bind("mouseenter",function(){v.addClass("YMaps-logo-link_hover")}).bind("mouseleave",function(){v.removeClass("YMaps-logo-link_hover")})}D=q('<div class="YMaps-copyrights" style="'+B("absolute","block","none",{},"visible")+'"><span style="'+B("static","inline","none")+'"></span><a href="http://maps.yandex.ru/agreement.xml" target="_blank" style="'+B("static","inline","underline")+'">'+b.copyrights+"</a></div>").appendTo(F);A=D.find("span");y=D.find("a");C();var G=r.Events;l.observe(r,G.TypeChange,C);l.observe(r,[G.BoundsChange,G.AddLayer,G.RemoveLayer],u)};function B(E,K,G,J,L){var F=" !important;",I="",H=["background-color: transparent","border: none","float: none","z-index: "+(f.ZIndex.CONTROL+1),"position: "+E,"overflow: "+L||"hidden","padding: 0"];if(K){H.push("display: "+K);if(K=="inline"){H.push("font-family: Arial,sans-serif","font-size: 10px","text-indent: 0","text-align: left","white-space: nowrap","line-height: normal","text-decoration: "+G)}}H.push("");I=H.join(F);J=J||{};q.each(["margin-top","margin-right","margin-bottom","margin-left","height","width"],function(N,M){I+=M+": "+(J[M]?J[M]+"px":(N<4?"0":"auto"))+F});return I}function w(G){var J=G.replace("#",""),K=J.length/3,F=(K==1?15:255),E=parseInt(J.slice(0,K),16)/F,I=parseInt(J.slice(K,K*2),16)/F,L=parseInt(J.slice(K*2,K*3),16)/F,M=Math.max(E,Math.max(I,L)),H=Math.min(E,Math.min(I,L));return(M+H)/2}function C(){var E=r.getType();D.find("*").andSelf().css("color",E.getTextColor());if(w(E.getTextColor())>0.5){s.attr("class","YMaps-logo YMaps-logo-white")}else{s.attr("class","YMaps-logo")}x=q.grep(E.getLayers(),function(F){return F=="map"||F=="sat"||F=="skl"}).join(",");u()}function u(){var E=t.concat(r._getLayerCopyrights());A.html(E.length>0?E.join(", ")+"&nbsp;&ndash;&nbsp;":"");v.attr("href",z())}function z(){return"http://maps.yandex.ru?origin=jsapi"+(x?"&ll="+r.getCenter().getX()+","+r.getCenter().getY()+"&z="+r.getZoom()+"&l="+x:"")}this.addCopyright=function(E){if(E){t.push(E);if(r){u()}}};this.removeCopyright=function(F){var E=t.indexOf(F);if(E!=-1){t.splice(E,1);if(r){u()}}};this.onRemoveFromMap=i.NULL};n=f.TypeControl=function(u,s){this.__types=[];this.__buttons=[];this.__buttonListeners=[];this.__changeTypeListener=null;this.__toolBar=new f.ToolBar([]);this.__listBox=new d.TypeListBox(this.__buttonGroup,{width:100,caption:b.hints.typeControl.more});u=u||[f.MapType.MAP,f.MapType.SATELLITE,f.MapType.HYBRID];s=s||[];for(var t=0,r=u.length;t<r;t++){this.addType(u[t],q.inArray(t,s)!=-1)}};c=n.prototype;c.__buttonGroup="default#types";c.__isListItem=function(s){var r=q.inArray(s,this.__types);if(r==-1){return 0}return this.__listBox.indexOf(this.__buttons[r])!=-1};c.__getTypeButton=function(s){var r=q.inArray(s,this.__types);if(r==-1){return null}return this.__buttons[r]};c.onAddToMap=function(r,s){this.__map=r;this.__toolBar.onAddToMap(r,s||new f.ControlPosition(f.ControlPosition.TOP_RIGHT,new f.Point(5,5)));this.__changeTypeListener=l.observe(r,r.Events.TypeChange,this.update,this);this.update()};c.update=function(){if(this.__map){var s=this.__map.getType(),r=q.inArray(s,this.__types);this.__applySelection(this.__currentType,0);if(r==-1){this.__currentType=null}else{this.__applySelection(s,1);this.__currentType=s}}};c.__applySelection=function(s,r){if(s){if(this.__isListItem(s)){this.__listBox[r?"select":"deselect"](s)}else{this.__getTypeButton(s)[r?"select":"deselect"]()}}};c.addType=function(t,s){if(t&&q.inArray(t,this.__types)==-1){var r=s?new f.ListBoxItem(t.getName()):new f.ToolBarRadioButton(this.__buttonGroup,{caption:t.getName()});this.__types.push(t);this.__buttons.push(r);if(s){this.__listBox.add(r);if(this.__listBox.length()==1){this.__toolBar.add(this.__listBox)}}else{if(this.__listBox.length()){this.__toolBar.splice(-1,0,r)}else{this.__toolBar.add(r)}}this.__buttonListeners.push(l.observe(r,r.Events.Click,function(){this.__map.setType(t);if(this.__isListItem(t)){this.__listBox.collapse()}},this))}this.update()};c.removeType=function(s){var r=s?q.inArray(s,this.__types):-1;if(r!=-1){this.__buttonListeners[r].cleanup();this.__buttonListeners.splice(r,1);if(this.__currentType==s){this.__applySelection(s,0);this.__currentType=null}if(this.__isListItem(s)){this.__listBox.remove(this.__buttons[r])}else{this.__toolBar.remove(this.__buttons[r])}this.__types.splice(r,1);this.__buttons.splice(r,1);if(!this.__listBox.length()){this.__toolBar.remove(this.__listBox)}}this.update()};c.getTypes=function(){return this.__types.slice()};c.onRemoveFromMap=function(){if(this.__map){this.__changeTypeListener.cleanup();this.__changeTypeListener=null;this.__toolBar.onRemoveFromMap();this.__map=null}};n=d.TypeListBox=function(s,r){f.ListBox.call(this,r);this.__groupId=s;this.__selected=0};c=j(n,f.ListBox);c.isSelected=function(){return this.__selected};c.getGroupId=function(){return this.__groupId};c.select=function(r){if(!this.__selected){this.__selected=1;if(this.getToolBar){var s=this;q.each(this.getToolBar().getByGroupId(this.__groupId),function(){if(this!=s&&this.isSelected()){this.deselect()}});this.setModifier({color:"green"});this.getElement().find(".YMaps-btn-name").removeClass("YMaps-btn-name_layers").addClass("YMaps-btn-name_green")}}this.setCaption(r.getName())};c.deselect=function(){this.__selected=0;this.setCaption(b.hints.typeControl.more);this.setModifier({color:""});this.getElement().find(".YMaps-btn-name").removeClass("YMaps-btn-name_green").addClass("YMaps-btn-name_layers")};(function(){f.SearchControl=function(V){var T=this,K,O,X,L=f.State.EMPTY,Z=q.extend({resultsPerPage:3,width:240,noCentering:0,noPlacemark:0,useMapBounds:1},V),M,S=true,R="";Z.resultsPerPage=Math.round(i.boundaryRestrict(Z.resultsPerPage,1,20));Z.width=Math.max(Z.width,200);M=new A(this,Z);this.getMap=function(){return K};this.Events={Select:"Select"};this.onAddToMap=function(ab,ad){var aa=ad||new f.ControlPosition(f.ControlPosition.TOP_RIGHT,new f.Point(200,5));K=ab;O=new E(Z);O.expanded=S;X=O.$element;aa.apply(X);w(O,R);x(L,M,O);if(L==f.State.SUCCESS){r(M,O,Z,W)}X.appendTo(K.getContainer());O.$submit.bind("click",function(){Y()});O.$switcher.bind("click",function(){S=!S;O.expanded=S;x(L,M,O)});O.$cleaner.bind("click",function(){Q()});O.$hint.bind("click",function(){O.$input[0].focus()});O.$input.bind("focus",function(){C(O)}).bind("blur",function(){if(!s(O)){I(O)}}).bind("keydown",function(ae){if(ae.which==13){Y()}});O.$prev.bind("click",function(){N(M.page-1)});O.$next.bind("click",function(){N(M.page+1)});if(g.msie&&(g.version<8||document.documentMode<8)){var ac=X.find(".YMaps-arr");X.find(".YMaps-btn-name_result").bind("mouseenter",function(){ac.addClass("YMaps-arr_hover")}).bind("mouseleave",function(){ac.removeClass("YMaps-arr_hover")})}X.find(".YMaps-pseudo-link").bind("click",function(ae){ae.preventDefault()});u(K,M,Z)};this.onRemoveFromMap=function(){if(K){J(K,M,Z);X.empty().remove();X=O=K=null}};this.expand=function(){if(!S){S=true;if(K){O.expanded=S;x(L,M,O)}}};this.collapse=function(){if(S){S=false;if(K){O.expanded=S;x(L,M,O)}}};this.isExpanded=function(){return S};function W(aa){var ab=M.get(aa);f.Events.notify(T,T.Events.Select,T,ab);J(K,M,Z);M.currentIndex=aa;r(M,O,Z,W);u(K,M,Z)}function Y(){var aa=s(O);if(!aa){return}R=aa;L=f.State.LOADING;P();x(L,M,O);M.search(aa,U)}function U(aa){L=aa;if(K){r(M,O,Z,W);x(L,M,O);if(M.length()&&M.currentIndex==-1){W(0)}}}function Q(){L=f.State.EMPTY;R="";P();if(K){x(L,M,O);w(O,"");if(M.currentIndex>=0&&!Z.noPlacemark){K.removeOverlay(M.get(M.currentIndex))}}}function P(){if(K){O.$list.empty();J(K,M,Z)}M.currentIndex=-1;M.page=0;M.removeAll()}function N(aa){M.page=aa;if(M.length()>aa*Z.resultsPerPage){r(M,O,Z,W)}else{L=H;x(L,M,O);M.getMore(U)}}};function u(N,L,K){if(N&&L.currentIndex>=0){var M=L.get(L.currentIndex);if(!K.noCentering){N.setBounds(M.getBounds())}if(!K.noPlacemark){N.addOverlay(M);M.openBalloon(null,{mapAutoPan:!K.noCentering})}}}function J(M,L,K){if(M&&L.currentIndex>=0&&!K.noPlacemark){M.removeOverlay(L.get(L.currentIndex))}}function z(L){var M=b.hints.searchControl.quantity,K=0;if(L%10==0||L%10>4||Math.floor(L/10)==1){K=1}else{if(L%10==1){K=2}}return M[K].found+" "+L.toString()+" "+M[K].objects}var E=function(L){var M=b.hints.searchControl,K=q('<div class="YMaps-btn YMaps-cursor-default"><i class="YMaps-btn-round"><i class="YMaps-btn-l YMaps-btn-t"><i></i><b></b></i><i class="YMaps-btn-r YMaps-btn-t"><i></i><b></b></i></i><div class="YMaps-btn-v"><div class="YMaps-btn-h"><div class="YMaps-btn-i" style="width: '+L.width+'px"><div class="YMaps-h-search"><table class="YMaps-l-search"><tbody><tr><td class="YMaps-l-search-l"><div class="YMaps-b-search-wrap"><label class="YMaps-b-hint-input">'+M.mapSearch+'</label><input class="YMaps-search-control-text" value=""/></div></td><td class="YMaps-l-search-r"><div class="YMaps-search-control-submit"><i>'+M.find+'</i></div></tr></tbody></table></div><table class="YMaps-l-search YMaps-b-result YMaps-b-result_hide"><tbody><tr><td class="YMaps-l-search-l"><a href="javascript:void(0)" class="YMaps-btn-name YMaps-btn-name_result YMaps-search-control-foundblock"><i class="YMaps-pseudo-link"><span class="YMaps-search-control-found YMaps-search-control-switch"></span></i><i class="YMaps-arr YMaps-search-control-switch"><i></i></i></a><p class="YMaps-search-control-wait">'+M.wait+'</p><p class="YMaps-notice YMaps-search-control-notfound">'+M.notFound+'</p><p class="YMaps-notice YMaps-search-control-failure"></p></td><td class="YMaps-l-search-r"><a href="javascript:void(0)" class="YMaps-pseudo-link"><span class="YMaps-search-control-clean">'+M.clear+'</span></a></td></tr><tr class="YMaps-b-result-list"><td colspan="2"><dl class="YMaps-btn-list YMaps-btn-list_search"><dt class="YMaps-btn-list-query">'+M.correction+' <b class="YMaps-search-control-suggest"></b></dt></dl><dl class="YMaps-btn-list YMaps-btn-list_search YMaps-search-control-list"></dl><dl class="YMaps-btn-list YMaps-btn-list_search"><dd class="YMaps-btn-list-item YMaps-btn-list-item_more"><a class="YMaps-pseudo-link YMaps-prev" href="javascript:void(0)"><span>'+(L.resultsPerPage>1?M.previous[1]+" "+L.resultsPerPage:M.previous[0])+'</span></a><a class="YMaps-pseudo-link YMaps-next" href="javascript:void(0)"><span></span></a></dd></dl></td></tr></tbody></table></div></div></div><i class="YMaps-btn-round"><i class="YMaps-btn-l YMaps-btn-b"><i></i><b></b></i><i class="YMaps-btn-r YMaps-btn-b"><i></i><b></b></i></i></div>').css({zIndex:f.ZIndex.CONTROL,position:"absolute"});return{$element:K,expanded:1,$submit:K.find(".YMaps-search-control-submit"),$switcher:K.find(".YMaps-search-control-switch"),$wait:K.find(".YMaps-search-control-wait"),$foundblock:K.find(".YMaps-search-control-foundblock"),$found:K.find(".YMaps-search-control-found"),$notfound:K.find(".YMaps-search-control-notfound"),$failure:K.find(".YMaps-search-control-failure"),$result:K.find(".YMaps-b-result"),$input:K.find(".YMaps-search-control-text"),$hint:K.find(".YMaps-b-hint-input"),$cleaner:K.find(".YMaps-search-control-clean"),$list:K.find(".YMaps-search-control-list"),$correction:K.find(".YMaps-btn-list-query"),$suggest:K.find(".YMaps-search-control-suggest"),$prev:K.find(".YMaps-prev"),$next:K.find(".YMaps-next")}};var H="InUpdate",t=["$foundblock","$notfound","$wait","$failure","$result","$element"],D="YMaps-display-none",y={cssClass:D,show:"remove",hide:"add"},B={$element:{cssClass:"YMaps-btn_expanded",show:"add",hide:"remove"},$result:{cssClass:"YMaps-b-result_hide",show:"remove",hide:"add"}};function x(L,K,N){var M=F(N,L,K.getFound());q.each(t,function(P,O){var Q=B[O]||y;N[O][Q[q.inArray(O,M)!=-1?"show":"hide"]+"Class"](Q.cssClass)});N.$failure.html(K.getErrorMessage());N.$found.html(z(K.getFound()))}function r(M,N,T,Q){var S=T.resultsPerPage,R=M.page,P=N.$list.empty(),K=Math.min(S,M.getFound()-(R+1)*S);if(M.getSuggest()){N.$suggest.html("«"+M.getSuggest().replace(/<fix>/ig,"<i>").replace(/<\/fix>/ig,"</i>")+"»");N.$correction.removeClass(D)}else{N.$correction.addClass(D)}for(var O=R*S,L=Math.min((R+1)*S,M.getFound());O<L;O++){v(M,O,Q).appendTo(P)}if(R>0){N.$prev.removeClass(D)}else{N.$prev.addClass(D)}if(K>0){N.$next.html("<span>"+(K>1?b.hints.searchControl.next[1]+" "+K:b.hints.searchControl.next[0])+"</span>").removeClass(D)}else{N.$next.addClass(D)}}function F(N,L,K){var M=[];switch(L){case f.State.LOADING:M.push("$wait","$element");break;case H:M.push("$foundblock","$wait","$element");break;case f.State.SUCCESS:M.push("$element");if(!K){M.push("$notfound")}else{M.push("$foundblock");if(N.expanded){M.push("$result")}}break;case f.State.FAILURE:M.push("$failure","$element");break;case f.State.EMPTY:default:break}if(!s(N)){M.push("$hint")}return M}function w(L,K){var M=L.$input;if(typeof K!==p){M.attr("value","");I(L)}else{M.attr("value",K);C(L)}}function s(K){return K.$input.attr("value")}function I(K){K.$hint.removeClass(D)}function C(K){K.$hint.addClass(D)}var A=function(M,aa){f.GeoObjectCollection.call(this);var U=this,O,X=[],Z=0,Q="",S="",K="",Y=null,T="";this.getFound=function(){return Z};this.getSuggest=function(){return Q};this.getErrorMessage=function(){return T};this.page=0;this.currentIndex=-1;this.search=function(ab,ac){S=ab;Y=ac;K=(aa.useMapBounds&&M.getMap())?M.getMap().getBounds():null;L(0)};this.getMore=function(ab){Y=ab;L(this.length())};function L(ab){var ac={results:aa.resultsPerPage*3,skip:ab,prefLang:aa.prefLang};if(K){ac.boundedBy=K}if(X.length){R()}O=new f.Geocoder(S,ac);X=V(O)}function V(ab){return[f.Events.observe(ab,ab.Events.Load,function(){W(ab)}),f.Events.observe(ab,ab.Events.Fault,function(ac){P(ab,ac)})]}function R(){o(X,"cleanup");X=[]}function W(ab){if(ab==O){N();R();Y(f.State.SUCCESS)}ab.removeAll()}function N(){for(var ad=0,ac=O.length();ad<ac;ad++){var ab=O.get(ad),ae=G(ab);ab.name=ae.name;ab.description=ae.description;U.add(ab)}Z=O.found;Q=O.suggest}function P(ab,ac){if(ab==O){R();T=ac;Y(f.State.FAILURE)}}};j(A,f.GeoObjectCollection);function v(N,M,L){var O=G(N.get(M)),K=q('<dd class="YMaps-btn-list-item'+(M==N.currentIndex?" YMaps-btn-list-item_current":"")+'">'+(O.name?'<a class="YMaps-pseudo-link" href="javascript:void(0)"><span>'+O.name+"</span></a>":"")+(O.description?'<p class="YMaps-note">'+O.description+"</p>":"")+"</dd>").bind("click",function(){L(M)});K.find(".YMaps-pseudo-link").bind("click",function(P){P.preventDefault()});return K}function G(M){if(M.name||M.description){return{name:M.name,description:M.description}}var L=", ",N=M.text.split(L),K=M.kind==="house"?-2:-1;return{name:N.slice(K).join(L),description:N.slice(0,K).join(L)}}})();d.ZoomButton=function(v,s){var r=q('<a class="YMaps-slider-'+(v==1?"plus":"minus")+'" href="javascript:void(0)"><i class="YMaps-slider-btn"><i></i></i></a>'),u,t=[];this.getElement=function(){return r};this.beginListening=function(x){this.stopListening();u=x;r.bind("click",function(z){var y=u.getZoom()+v;if(v==1?y<=u.getMaxZoom():y>=u.getMinZoom()){u.zoomBy(v,{smooth:s})}z.preventDefault()});t=f.Events.observe(u,[u.Events.BoundsChange,u.Events.ZoomRangeChange],w);w();return this};function w(){if(v==1){if(u.getZoom()>=u.getMaxZoom()){r.addClass("YMaps-slider-plus_disable")}else{r.removeClass("YMaps-slider-plus_disable")}}else{if(u.getZoom()<=u.getMinZoom()){r.addClass("YMaps-slider-minus_disable")}else{r.removeClass("YMaps-slider-minus_disable")}}}this.stopListening=function(){if(u){r.unbind();o(t,"cleanup");t=[];u=null}return this}};(function(){f.Zoom=function(D){var C=300;var t,y,z,v,u,A=[],x,B;D=q.extend({noTips:0,customTips:b.hints.zoom,smooth:1},D||{});this.onAddToMap=function(F,E){t=F;y=E||new f.ControlPosition(f.ControlPosition.TOP_LEFT,new f.Point(5,75));w();A.push(l.observe(t,t.Events.Update,function(){u.setValue(t.getZoom());w()}),l.observe(t,t.Events.ZoomRangeChange,w,this),l.observe(u.getContainer(),"sliderchange",function(G){if(B){window.clearTimeout(B)}B=window.setTimeout(function(){t.setZoom(G);u.setFocus()},C)},this));v.beginListening(t);z.beginListening(t);x=l.observe(t,t.Events.Destruct,this._destruct,this)};function w(){if(!u){u=new s(D);var I=u.getContainer(),H=q(I).find(".YMaps-slider-scale");v=new d.ZoomButton(-1,D.smooth);v.getElement().insertBefore(H);z=new d.ZoomButton(1,D.smooth);z.getElement().insertAfter(H);t.getContainer().appendChild(I);y.apply(I)}if(!u.isDragging()){var G=t.getZoom(),J=Math.max(G,t.getMaxZoom()),F=Math.min(G,t.getMinZoom()),E=[];for(;J>=F;J--){E.push(J)}u.update({value:t.getZoom(),values:E,isRight:y.anchor%2})}}this._destruct=function(){x.cleanup();if(B){window.clearTimeout(B)}if(t){o([v,z],"stopListening");t.getContainer().removeChild(u.getContainer());u._destruct();o(A,"cleanup");t=y=u=v=z=null}};this.onRemoveFromMap=this._destruct};var s=function(x){var H,M,u;var W,P,z,Q,I,N,T,y,X,F,A,S=[],E,O,L=2000;W=q('<div class="YMaps-slider"><div class="YMaps-slider-content"><div class="YMaps-slider-scale"><i class="YMaps-slider-grab" type="button"><i></i><input type="button"/></i><i class="YMaps-slider-marks"><i></i></i></div></div></div>').css("z-index",f.ZIndex.CONTROL);P=W.find(".YMaps-slider-grab");z=P.find("input");I=W.find(".YMaps-slider-marks");Q=W.find(".YMaps-slider-scale");if(!x.noTips){E=new r(Q,this,x.customTips)}N=new i.DragAndDrop.MouseMove(z[0]);R();w();function R(){l.observe(N,"start",V);l.observe(N,"move",C);l.observe(N,"stop",G);N.beginListening();I.bind("click",B);P.bind("mouseover",function(){q(this).addClass("YMaps-slider-grab_h")}).bind("mouseout",function(){q(this).removeClass("YMaps-slider-grab_h")});if(!x.noTips){W.bind("mouseover",function(){E.show();Y()}).bind("mouseout",D)}}function D(){if(!O){O=setTimeout(function(){O=undefined;E.hide()},L)}}function Y(){if(O){clearTimeout(O);O=undefined}}function V(){T=true;A=H}function C(Z){K(Math.round((X-Z.clientY-q(window).scrollTop()-3+Q.offset().top)/F))}function K(aa){var Z=Math.max(0,Math.min(M,aa));P.css("margin-top",Math.round(X-(Z+1)*F-1)+"px");H=Z}function G(){if(A!=H){l.notify(W[0],"sliderchange",v());A=null}T=false}function B(Z){C(Z);G()}function t(){U(H-1)}function J(){U(H+1)}function U(Z){V();K(Z);G()}function w(){function ac(){U(0)}function aa(){U(M)}function Z(ad){return function(ae){ad(ae);ae.preventDefault()}}var ab=g.opera?"keypress":"keydown";z.bind(ab,"down",Z(t)).bind(ab,"+",Z(t)).bind(ab,"up",Z(J)).bind(ab,"-",Z(J)).bind(ab,"end",Z(ac)).bind(ab,"home",Z(aa))}this.update=function(Z){u=Z.values;M=u.length-1;y=4;F=7;X=Math.round((1+M)*F);Q.css({height:X+"px","padding-bottom":"0"});I.css({height:X+"px"});W.css({height:(X+50).toString()+"px"});if(Z.isRight){W.addClass("YMaps-slider_left")}else{W.removeClass("YMaps-slider_left")}if(!x.noTips){E.update(X,F,Z.isRight)}this.setValue(Z.value)};this._destruct=function(){if(!x.noTips){Y()}o(S,"cleanup");N.stopListening();W=z=P=Q=I=E=N=null};this.isDragging=function(){return T};this.setValue=function(aa){if(typeof aa=="number"){var Z=q.inArray(aa,u);if(Z!=-1){K(Z)}}};function v(Z){return u[isNaN(Z=parseInt(Z))?H:Z]}this.getValue=v;this.setFocus=function(){z[0].focus()};this.getContainer=function(){return W[0]};this.getIndex=function(Z){return q.inArray(Z,u)}};var r=function(t,v,u){this._slider=v;this._$element=q('<div class="YMaps-slider-tips" style="visibility: hidden;"></div>').appendTo(t);this._tips=[];this.listeners=[];this._visible=false;var w=this;q.each(u,function(y,x){w._tips[y]={index:x.index,$element:q('<a href="javascript:void(0)" class="YMaps-button-tip YMaps-cursor-pointer"><i class="YMaps-button-tip-l"><i></i></i><i class="YMaps-button-tip-r"><i></i></i><b class="YMaps-button-tip-container"><i class="YMaps-button-tip-text">'+x.value+'</i><i class="YMaps-button-tip-m"></i></b></a>').appendTo(w._$element).bind("click",function(z){l.notify(w._slider.getContainer(),"sliderchange",w._tips[y].index);z.preventDefault()})}})};c=r.prototype;c.update=function(v,t,A){var x,u,B,z;for(x=0,u=this._tips.length;x<u;x++){B=this._tips[x];z=this._slider.getIndex(B.index);if(z==-1){B.$element.addClass("YMaps-display-none")}else{B.$element.removeClass("YMaps-display-none")}B.$element.css({top:Math.round(v-(z+1)*t-6)+"px"})}this._$element.css({height:v+"px"});if(A){this._$element.addClass("YMaps-slider-tips_left")}else{this._$element.removeClass("YMaps-slider-tips_left")}if(g.msie&&(g.version>=7&&g.version<8)&&document.compatMode=="BackCompat"){var y=this._$element.find(".YMaps-button-tip-r");for(x=0,u=y.length;x<u;x++){var w=y.eq(x);if(w.parent().eq(0).width()%2){w.css("right",A?"-10px":"-7px")}else{w.css("right",A?"-9px":"-6px")}if(A){w.css("left","auto")}}}};c.show=function(){if(!this._visible){this._$element.css({visibility:"visible"});this._visible=true}};c.getContainer=function(){return this._$element[0]};c.hide=function(){if(this._visible){this._$element.css({visibility:"hidden"});this._visible=false}}})();f.SmallZoom=function(s){var u,r,v,t;s=s||{};s.smooth=s.smooth===undefined?1:s.smooth;this.onAddToMap=function(x,w){u=x;w=w||new f.ControlPosition(f.ControlPosition.TOP_LEFT,new f.Point(5,75));r=q('<div class="YMaps-slider"></div>').css("z-index",f.ZIndex.CONTROL).appendTo(u.getContainer());w.apply(r[0]);if(!v||!t){t=new d.ZoomButton(-1,s.smooth);v=new d.ZoomButton(1,s.smooth)}t.beginListening(u).getElement().appendTo(r);v.beginListening(u).getElement().appendTo(r)};this.onRemoveFromMap=function(){if(u){r.removeFromDom();t.stopListening();v.stopListening();u=r=t=v=null}}};n=d.RulerPointLayout=function(s){var r=q('<div class="YMaps-placemark-wrap"><i class="YMaps-ruler-point YMaps-cursor-move"><i></i></i><b class="YMaps-button-tip YMaps-ruler-tip YMaps-cursor-default"><i class="YMaps-button-tip-l"><i></i></i><i class="YMaps-button-tip-r"><i></i></i><b class="YMaps-button-tip-container"><i class="YMaps-button-tip-text"><span class="YMaps-number"></span>&nbsp;<span class="YMaps-ruler-text-dist"></span></i><i class="YMaps-button-tip-m"></i></b></b></div>');this.__$nodes={element:r,point:r.find(".YMaps-ruler-point"),hint:r.find(".YMaps-button-tip"),num:r.find(".YMaps-number"),text:r.find(".YMaps-ruler-text-dist"),tipR:r.find(".YMaps-button-tip-r"),button:null};this.setType(s.getType())};n.prototype={__typeModifiers:{start:{element:"YMaps-popup-none",point:"YMaps-start-point"},via:{element:"YMaps-popup-hover",point:"YMaps-via-point",hint:"YMaps-ruler-tip-via"},end:{element:"YMaps-popup-visible",point:"YMaps-end-point"}},setType:function(t,x){var s=this.__typeModifiers,v=s[this.__type]||{},r=s[t]||{},w=this.__$nodes;q.each(["element","point","hint"],function(A,z){var y=w[z];if(v[z]){y.removeClass(v[z])}if(r[z]){y.addClass(r[z])}});if(this.__type=="end"&&t!="end"){w.button.remove();w.button=null}if(this.__type!="end"&&t=="end"){var u=q('<a class="YMaps-ruler-tip-delete YMaps-cursor-pointer" title="'+b.hints.ruler.close+'"></a>').bind("click",x).appendTo(w.element.find(".YMaps-button-tip-text"));if(g.msie&&g.version<7){u.bind("mouseenter",function(){u.addClass("YMaps-ruler-tip-delete_hover")}).bind("mouseleave",function(){u.removeClass("YMaps-ruler-tip-delete_hover")})}w.button=u}w.element.width();this.__type=t},setData:function(r){var s=this.__$nodes;s.num.html(r.number+")&nbsp;").width();s.text.html(f.humanDistance(r.distance)).width();if(g.msie&&(g.version>=7&&g.version<8)&&document.compatMode=="BackCompat"){s.tipR.css("right",(s.tipR.parent().eq(0).width()%2)?"-7px":"-6px")}if(g.opera&&g.version<9.5){s.hint.css("width","auto")}},onAddToParent:function(r){this.__$nodes.element.appendTo(r)},onRemoveFromParent:function(){this.__$nodes.element.remove()},getOffset:function(){return new f.Point(0,0)},setContent:i.NULL,update:i.NULL};f.Templates.add("ruler#icon",new f.LayoutTemplate(n));n=d.RulerPoint=function(r){f.Placemark.call(this,r,{draggable:1});this.__type=d.RulerPoint.START_POINT;this.__data={};this.__listeners=[]};c=j(n,f.Placemark);c.getIconLayout=function(){return this._icon};n.START_POINT="start";n.VIA_POINT="via";n.END_POINT="end";c.setData=function(s){this.__data=s||{};var r=this.getIconLayout();if(r){r.setData(this.__data)}};c.getData=function(){return this.__data};c.setType=function(r,t){this.__type=r;var s=this.getIconLayout();if(s){s.setType(r,t)}};c.getType=function(){return this.__type};c.onAddToGroup=function(r){f.Placemark.prototype.onAddToGroup.call(this,r);this.__listeners=[f.Events.observe(this,this.Events.DblClick,function(){r.remove(this)},this),f.Events.observe(this,this.Events.Drag,function(){r.updatePoints(this)},this)]};c.onRemoveFromGroup=function(){o(this.__listeners,"cleanup");f.Placemark.prototype.onRemoveFromGroup.call(this)};n=d.RulerContainer=function(t){f.ConnectedPlacemarks.call(this,t);var w=this,r=[l.observe(this,this.Events.Add,s,this),l.observe(this,this.Events.Remove,v,this)];function s(B,y,x){var A=this.length(),C=0;if(A>1){var z=this.get(x-1);if(x>1){z.setType(d.RulerPoint.VIA_POINT)}C=z.getData().distance+this.getMap().coordSystem.rulerDistance(y.getCoordPoint(),z.getCoordPoint());y.setType(d.RulerPoint.END_POINT,u)}y.setData({number:A,distance:C})}function v(A,y,x){var z=this.length();if(z){if(x==0){this.get(0).setType(d.RulerPoint.START_POINT)}else{if(x==z&&z>1){this.get(-1).setType(d.RulerPoint.END_POINT,u)}}}if(x!=z){this.updatePoints(x>0?this.get(x):null)}}this.updatePoints=function(y){var A=y?this.indexOf(y):0,B=A>0?this.get(A-1).getData().distance:0,x=this.length();for(;A<x;A++){var z=this.get(A);B+=(A>0?this.getMap().coordSystem.rulerDistance(z.getCoordPoint(),this.get(A-1).getCoordPoint()):0);z.setData({number:A+1,distance:B})}};this.removeAll=function(){o(r,"disable");f.ConnectedPlacemarks.prototype.removeAll.call(this);o(r,"enable")};function u(x){d.preventMapEvent(x);x.preventDefault();if(w.length()<3||confirm(b.hints.ruler.sure)){w.removeAll()}}};j(n,f.ConnectedPlacemarks);d.RulerControl=function(){var u,t,r=new d.RulerContainer("ruler#style"),s;this.onAddToMap=function(v){if(!u){u=v;u.addOverlay(r,1)}s=l.observe(u,u.Events.Click,function(w,x){r.add(new d.RulerPoint(x.getGeoPoint(1)))},this);if(t){this.setStateString(t);t=null}u.addCursor(f.Cursor.ARROW)};this.onRemoveFromMap=function(){u.removeCursor(f.Cursor.ARROW);s.cleanup()};this.setStateString=function(z){if(u){r.removeAll();if(z){var x=z.split("~"),y=u.coordSystem.getCoordPoint(0,0,1);for(var w=0,v=x.length;w<v;w++){r.add(new d.RulerPoint(y.moveBy(f.Point.fromString(x[w]))))}}}else{t=z}};this.getStateString=function(){if(r.length()){var z=r.get(0).getCoordPoint(),y=[u.coordSystem.getCoordPoint(0,0).moveTo(z).toString(8)],v;for(var x=1,w=r.length();x<w;x++){v=r.get(x).getCoordPoint();y.push(z.diff(v).toString(8));z=v}return y.join("~")}return""}};(function(){var r=new f.Style(null);r.iconStyle={template:"ruler#icon",offset:new h(0,0)};r.lineStyle={strokeColor:"d61d00",strokeWidth:2};r.hasBalloon=0;f.Styles.add("ruler#style",r)})();f.MiniMap=function(K){K=typeof K==p?5:K;var w=b.hints.miniMap,L,N,E,v,y,s,u,O,D,H,z,B,G,I,F,A,t=1;function r(Q){var P=new d.ALayer();P.onAddToMap=function(S,T){d.ALayer.prototype.onAddToMap.call(this,S,T);var R=this.getContainer();R.onselectstart=function(){return false};q(R).addClass("YMaps-mini-map-frame").css({left:"50%",top:"50%"});this.onMapUpdate()};P.onMapUpdate=function(){var R=Q.getContainerSize().scale(1/Math.pow(2,Q.getZoom()-s.getZoom())),T=R.copy().scale(-0.5),S=this.getContainer();i.size(S,R);q(S).css("margin",T.y+"px 0 0 "+T.x+"px")};P.onMove=i.NULL;return P}this.onAddToMap=function(P,Q){L=P;var R=f.ControlPosition;N=Q||new R(R.BOTTOM_LEFT,new f.Point(5,5));E=q("<div />").addClass("YMaps-mini-map").css("z-index",f.ZIndex.CONTROL).appendTo(L.getContainer());N.apply(E);v=q("<a />").addClass("YMaps-button-mini-map-hide").css("z-index",f.ZIndex.CONTROL).attr("title",w.hide).appendTo(E);v.bind("click",m(function(S){this.setVisible(!this.getVisible())},this));D=l.observe(L,L.Events.Destruct,this._destruct,this);E.append(y=q("<div />").addClass("YMaps-mini-map-map")[0]);M()};this.setType=function(P){u=P;if(s){s.setType(P)}};this.getType=function(){return s?s.getType():u};function M(){if(g.webkit&&(y.offsetWidth==0||y.offsetHeight==0)){window.setTimeout(function(){M()},100);return}function P(Q){this._options={coordSystem:L.coordSystem};this._construct(Q)}j(P,f.Map);P.prototype._restrictCenter=function(Q){return Q};s=new P(y);s.setType(new f.MapType(["map"],"",{minZoom:0}));s.enableDragging();s.addLayer(new r(L));if(u){s.setType(u)}J();x()}function J(){var P=L.Events;O=l.observe(s,P.Click,function(Q,R){L.panTo(R.getGeoPoint())});B=l.observe(L,P.Update,x);H=l.observe(L,L.Events.Redraw,function(){C(G);s.redraw();C(G,1)},s);if(g.opera&&g.version<9.5){z=l.observe(L,P.MoveEnd,x)}else{z=l.observe(L,P.Move,function(Q,R){C([G,I]);s._move(R.copy().apply(function(S){return S/Math.pow(2,L.getZoom()-s.getZoom())}));C([G,I],1)})}G=l.observe(s,P.Update,function(){C(B);L.setCenter(s.getCenter());C(B,1)});I=l.observe(s,P.Move,function(Q,R){C(z);L._move(R.copy().apply(function(S){return S*Math.pow(2,L.getZoom()-s.getZoom())}));C(z,1)});F=l.observe(s,P.MoveStart,function(){L._moveStart()});A=l.observe(s,P.MoveEnd,function(){L._moveEnd()})}function C(Q,P){o(Q,(P?"en":"dis")+"able")}function x(){C(G);var P=L.getCenter();s.setCenter(L.coordSystem.getCoordPoint(P.getX(),P.getY(),1),L.getZoom()-K);C(G,1)}this.setVisible=function(P){if(P!=t){t=P;E.toggleClass("YMaps-mini-map-invisible");v.attr("title",w[t?"hide":"show"]);if(t){x()}C([B,z],t);E.css("zIndex",t?"":1002)}};this.getVisible=function(){return t};this._destruct=this.onRemoveFromMap=function(){if(L){o([O,D,H,B,G,z,I,F,A],"cleanup");O=D=H=B=G=z=I=F=A=null;E.remove();L=N=E=v=y=s=null}}};f.ScaleLine=function(){var u=75;var s,v,y,B,z;this.onAddToMap=function(D,C){s=D;v=C||new f.ControlPosition(f.ControlPosition.BOTTOM_RIGHT,new f.Point(5,37));B=q('<div class="YMaps-scale-line"><span>0</span></div>').css({height:(q.boxModel?3:5)+"px","z-index":f.ZIndex.CONTROL-2}).appendTo(s.getContainer());z=B.find("span");v.apply(B[0]);t();x();var E=l.observe,F=s.Events;y=[E(s,F.BoundsChange,x),E(s,F.TypeChange,t)]};function t(){var C=s.getType();z.css("color",C.getTextColor())}function x(){var D=A(u),C=r(D);B.css("width",parseInt(C*u/D)+"px");w(C>1000?C/1000+" "+b.metric.kilometre:C+" "+b.metric.metre)}function A(F){var E=s.converter.coordinatesToLocalPixels(s.getCenter()),D=s.converter.localPixelsToCoordinates(new h(E.getX()-F/2,E.getY())),C=s.converter.localPixelsToCoordinates(new h(E.getX()+F/2,E.getY()));return s.coordSystem.distance(D,C)}function r(D){var C=Math.round(D).toString();return(Number(C.charAt(0))+1)*Math.pow(10,C.length-1)}function w(C){z.html(C)}this.onRemoveFromMap=function(){if(s){B.remove();o(y,"cleanup");s=v=B=z=y=null}}};(function(){f.Router=function(t,s,r){f.GeoObjectCollection.call(this);this.setStyle("router#route");this._options=q.extend({viewAutoApply:0},r);this._isLoaded=0;this._requestedWayPoints=t;this._requestedViaPoints=s||[];this._request(t)};c=j(f.Router,f.GeoObjectCollection);c._request=function(t){var s=d.MapData.versionPath+"xml/Router/Router.xml?key="+d.MapData.userKey+"&rll="+this._getUrlPoints(t),u=this,r=this._requestedWayPoints.length;this._requestedViaPoints=q.grep(this._requestedViaPoints,function(v){return v>0&&v<r-1});if(this._requestedViaPoints.length){s+="&via="+this._requestedViaPoints.join(",")}if(this._options.avoidTrafficJams){s+="&mode=jams"}if(this._options.boundedBy){s+="&ll="+this._options.boundedBy.getCenter().toString();s+="&spn="+this._options.boundedBy.getSpan().toString(6)}if(this._options.strictBounds){s+="&rspn=1"}q.ajax({url:s,dataType:"jsonp",cache:1,scriptCharset:"utf-8",success:function(v){u._onLoad(v)}})};c._getUrlPoints=function(v){var s=[];for(var u=0,t=v.length,r;u<t;u++){r=v[u];s.push(typeof r=="string"?encodeURIComponent(r):r.getX()+","+r.getY())}return s.join("~")};c._onLoad=function(r){this._isLoaded=1;if(r.error){l.notifyPermanent(this,this.Events.Fault,this,r.error.message);return}this._duration=r.duration;this._distance=r.distance;this.add(this._routes=r.routes);this.add(this._wayPoints=r.wayPoints);this._boundedBy=r.boundedBy;l.notifyPermanent(this,this.Events.Load,this);this.update();if(this._map&&this._options.viewAutoApply){this.applyView()}if(this._wayPoints.length<this._requestedWayPoints.length-this._requestedViaPoints.length){l.notifyPermanent(this,this.Events.GeocodeError,this,this._wayPoints.length)}else{if(this._routes.length<this._requestedWayPoints.length-this._requestedViaPoints.length-1){l.notifyPermanent(this,this.Events.RouteError,this,this._routes.length+1)}else{l.notifyPermanent(this,this.Events.Success,this)}}};c.Events.Load="Load";c.Events.Fault="Fault";c.Events.Success="Success";c.Events.GeocodeError="GeocodeError";c.Events.RouteError="RouteError";c.getDistance=function(){return this._distance};c.getDuration=function(){return this._duration};c.getNumWayPoints=function(){return this._wayPoints.length};c.getWayPoint=function(r){var s=this._wayPoints[r];return s?s:null};c.getNumRoutes=function(){return this._routes.length};c.getRoute=function(s){var r=this._routes[s];return r?r:null};c.onAddToMap=function(r,s){f.GeoObjectCollection.prototype.onAddToMap.call(this,r,s);if(this._isLoaded&&this._options.viewAutoApply){this.applyView()}};c.applyView=function(){if(this._boundedBy&&this._map){this._map.setBounds(this._boundedBy)}};f.Styles.add("router#route",{balloonContentStyle:{template:new f.Template("<div>$[text]</div>")},lineStyle:{strokeColor:"6C00FF99",strokeWidth:5}})})();f.Route=function(u,v,y,t,x,w,s){var r=f.Polyline.fromEncodedPoints(u,v);q.extend(this,r);this.setOptions({interactive:0,hasBalloon:0});this._boundedBy=y;this._routeSegments=t;this._distance=x;this._duration=w;this._viaPoints=s};c=j(f.Route,f.Polyline);c.getDistance=function(){return this._distance};c.getDuration=function(){return this._duration};c.getNumRouteSegments=function(){return this._routeSegments.length};c.getRouteSegment=function(r){return this._routeSegments[r]};c.getNumViaPoints=function(){return this._viaPoints.length};c.getViaPoint=function(r){return this._viaPoints[r]};f.RouteSegment=function(r,w,t,s,u,v){this._indexInPolyline=r;this._distance=w;this._duration=t;this._action=s;this._angle=u;this._street=v};c=f.RouteSegment.prototype;c.getDistance=function(){return this._distance};c.getDuration=function(){return this._duration};c.getAction=function(){return this._action};c.getStreet=function(){return this._street};c.getAngle=function(){return this._angle};c.getPolylineIndex=function(){return this._indexInPolyline};f.ViaPoint=function(r){this._indexInPolyline=r};c=f.ViaPoint.prototype;c.getPolylineIndex=function(){return this._indexInPolyline};f.WayPoint=function(r,s){f.GeocoderResult.call(this,r,s)};c=j(f.WayPoint,f.GeocoderResult)});
