var L_invalidinvoketarget_text="Invalid invoke target specified.",L_invaliddirections_text="Invalid argument passed; both start and end must be present.",L_invalidpageindex_text="Invalid search results page index is passed.",L_invalidelement_text="Invalid element id; unable to find the element in the document body.",L_noheadelement_text="Head element is missing for the current document; cannot initialize the API framework.",L_noserviceurl_text="Either a service url or script url is required to create VENetwork instance.",L_noscripturl_text="Invalid script source url is assigned; cannot download the assigned script.",L_nostylesurl_text="Invalid style source url is assigned; cannot attach the assigned styles.",L_invalidwhatwhere_text="Invalid what/where parameters; either 'what' or 'where' must be present.",L_notinitialized_text="Map is not loaded; cannot perform this operation.",L_noroute_text="Cannot calculate route at this point; try again later.",L_invalidpushpin_text="Invalid pushpin instance.",L_invalidpushpinid_text="Invalid pushpin id; either id is empty or another pushpin already exists with that id.",L_invalidpolylineid_text="Invalid polyline id; either id is empty or another polyline already exists with that id.",L_invalidpolygonid_text="Invalid polygon id; either id is empty or another polygon already exists with that id.",L_invalidargument_text="Invalid argument; input argument '%1' is not a valid '%2' value.",L_invalidlayerid_text="Invalid layer id; either id is empty or another layer already exists with that id.",L_invalidlayertype_text="Invalid layer type.",L_invalidlayersource_text="Invalid layer source; either layer is empty or does not exist.",L_invalidsourceid_text="Invalid source id; either id is empty or another tile source already exists with that id.",L_invalidminmaxzoom_text="Min zoom is greater than max zoom.",L_invalidopacity_text="Invalid opacity value.",L_loadxml_text="Unable to load source file.",L_Help_Text="Help",L_ErrorServerBusy_Text="The server is temporarily unavailable. Try again later.",L_UnsupportMethod_Text="%1 method is not supported.",L_UnsupportClass_Text="%1 class is not supported.",L_UnsupportProperty_Text="'%1' class does not support property '%2' equals to '%3'.",L_error_text="Error",L_close_text="close",L_what_text="What",L_where_text="Where",L_find_text="Find",L_selectlocation_text="Select a location",L_Start_Text="Start",L_End_Text="End",L_DirectionsGetDirections_Text="Get directions",L_loading_text=".. Loading ..",L_arriveat_text="Arrive at",L_startat_text="Start at",L_step_text="Step %1 of %2",L_DirectionsStep_Text="Step",L_invalidroute_Text="Unable to find a route for the locations you entered. Ensure that your start and end locations are correct, and try again.",L_invalidlocation_Text="The location you entered cannot be found.",L_routelessthanoneminute_Text="Less Than One Minute",L_hoursandminutes_Text="%1 Hours, %2 Minutes",L_minutes_Text="%1 Minutes",L_CollectionManagerViewerDefaultTitle_Text="Shared Collection",L_CollectionManagerUnsavedCollectionTitle_Text="Unsaved Collection",L_AnnotationConfDefaultTitle_Text="Untitled item",L_TrafficPopupSeverity_Text="Severity",L_TrafficPopupLocation_Text="Location",L_TrafficPopupDescription_Text="Description",L_TrafficPopupStartTime_Text="Start time",L_TrafficPopupEstEndTime_Text="Est. end time",L_TrafficManagerSerious_Text="Serious",L_TrafficManagerModerate_Text="Moderate",L_TrafficManagerMinor_Text="Minor",L_TrafficManager_Zoomout_Text="Zoom out to view Traffic information",L_TrafficManager_Zoomin_Text="Zoom in to view Traffic information",L_ClientTokenInvalid_Text="Invalid client token.",L_ClientTokenExpired_Text="Expired client token.",L_Shp_IncorrectPoints_Text="The number of points does not match the specified VEShape type.",L_Shp_IncorrectLineWidth_Text="The line width must be a positive integer.",L_Shp_IncorrectZoomLevel_Text="The specified  zoom level is invalid.  The valid range is 1 to 21,inclusive.",L_Shp_IncorrectZoomLevel2_Text="Max zoom is less than min zoom.",L_shp_Notinitialized_text="Shape is not initialized.",L_ShpExist_text="This shape has already been added to layer.",L_invalidzindex_text="Invalid z-Index parameters; either 'icon' or 'polyshape' must be present.",L_altitudemodemismatch_Text="All altitudes must have the same altitudeMode in a VEShape.",L_invalidwhere_text="Invalid argument; input argument 'where' is not a valid 'string, VELatLong, VELatLongRectangle, or VEPlace ' value.",L_invalidnonnegativeint_text="Invalid argument; input argument '%1' must be a non-negative int value.",L_invalidbetweenint_text="Invalid argument; input argument '%1' must be between %2 and %3, inclusive.",L_invalidsearchlocation_Text="%1 could not find a match for the location. Please check your spelling, enter the complete address including country name and commas, and try again.",L_invalidsearchresult_Text="No results were found.",L_ClusterDefaultTitle_Text="%1 locations near here",L_ClusterDefaultDescription_Text="Zoom in for details.",L_InvalidClusterLayer_Text="Cannot apply clustering to a cluster layer.",L_DashboardBirdsEye_Text="Bird's eye",L_DashboardBirdsEyeText_Text="See this location in bird's eye view",L_Dashboard3DText_Text="See this location in Bing Maps 3D",L_Dashboard3DInstalled_Text="Bing Maps 3D has finished updating",L_ObliqueCompassSelectDirection_Text="Change the direction of the view",L_ObliqueModeImageNotAvailable_Text="Sorry, bird's eye images aren't available here.",L_MinimapHybrid_Text="H",L_MinimapRoad_Text="R",L_MinimapHideToolTip_Text="Hide the mini map",L_MinimapShowToolTip_Text="Show the mini map",L_MinimapLargerToolTip_Text="Larger mini map",L_MinimapSmallerToolTip_Text="Smaller mini map",L_MinimapRoadToolTip_Text="Switch to road view",L_MinimapHybridToolTip_Text="Switch to hybrid view",L_MinimapDragToolTip_Text="Drag to move the map",L_MinimapReticuleDragToolTip_Text="Drag to center map",L_ScaleBarMiles_Text="miles",L_ScaleBarKilometers_Text="km",L_ScaleBarMeters_Text="m",L_ScaleBarYards_Text="yds",L_NavActionFlatland_Text="2D",L_NavActionView3D_Text="3D",L_NavActionRoad_Text="Road",L_NavActionAerial_Text="Aerial",L_NavActionHybrid_Text="Hybrid",L_NavActionLabels_Text="Labels",L_NavActionTraffic_Text="Traffic",L_NavActionHideToolTip_Text="Hide the view control",L_NavActionShowToolTip_Text="Show the view control",L_NavActionFlatlandToolTip_Text="View map in 2D mode",L_NavActionView3DToolTip_Text="View map in 3D mode with Bing Maps 3D (Beta)",L_NavActionOrthoToolTip_Text="Switch to map view",L_NavActionObliqueToolTip_Text="Switch to bird's eye view",L_NavActionStreetSideToolTip_Text="Street-level view",L_NavAction3DOrthoToolTip_Text="Look down",L_NavAction3DObliqueToolTip_Text="Look down at an angle",L_NavAction3DStreetSideToolTip_Text="Look toward horizon",L_NavActionShowTrafficToolTip_Text="Show traffic on the map",L_NavActionHideTrafficToolTip_Text="Hide traffic on the map",L_NavActionRoadToolTip_Text="Switch to road view",L_NavActionAerialToolTip_Text="Switch to aerial view",L_NavActionHybridToolTip_Text="Switch to hybrid view",L_NavActionObliqueRotationToolTip_CW_Text="Rotate the camera angle counterclockwise",L_NavActionObliqueRotationToolTip_CCW_Text="Rotate the camera angle clockwise",L_NavActionShowObliqueToolTip_Text="Show bird's eye images on the map",L_NavActionHideObliqueToolTip_Text="Hide bird's eye images on the map",L_NavActionShowLabels_Text="Show labels",L_NavActionHideLabels_Text="Hide labels",L_North_Text="north",L_East_Text="east",L_South_Text="south",L_West_Text="west",L_ObliqueSkippingOneDirection_Text="A bird's eye image facing %2 isn't available for this location. Facing %1 instead.",L_ObliqueSkippingTwoDirections_Text="Bird's eye images facing %2 or %3 aren't available for this location. Facing %1 instead.",L_ObliqueSpinNoOtherImagery_Text="No other bird's eye images are available for this location. Continuing to face %1.",L_ObliqueNoImageryInRequestedDirection_Text="Bird's eye images facing %2 aren't available for this location. Continuing to face %1.",L_NavActionCompassPan_Text="Pan in any direction",L_ZoomBarMinusToolTip_Text="Zoom out. To zoom continuously, click and hold this button.",L_ZoomBarPlusToolTip_Text="Zoom in. To zoom continuously, click and hold this button.",L_ZoomBarSliderToolTip_Text="Move slider to zoom in or zoom out",L_BrowserNotSupported_Text="To use this feature, open Live Search in Windows Internet Explorer version 6 or 7. For more information, and to download the latest version, visit the Microsoft Internet Explorer website (%1%3%2).",L_BrowserNotSupported3D_Text="Bing Maps 3D is currently not supported for your browser. For a list of supported browsers, see Help.",L_NoHardwareAcceleration_Text="Bing Maps 3D has detected that hardware acceleration is turned off.",L_3DLoading_Text="Initializing Bing Maps 3D (Beta).",L_UnableToDisplay3DVIAModel_Text="Unable to display 3D models in collections at this time. Please try again later.",L_InstallVE3DVIATitle_Text="Virtual Earth - 3DVIA (Beta) installation",L_LaunchVE3DVIA_Text="Launching Virtual Earth - 3DVIA (Beta)",L_PluginFeatureNotAvailable_Text="Feature is currently not available. Please try again later.",L_MapLegendTrafficSlow_Text="Slow",L_MapLegendTrafficFast_Text="Fast",L_MapLegendAndPopupLink_Text="Zoom in for traffic details",L_GeoRssInvalidFormatError_Text="The GeoRSS file you have tried to import is improperly formatted.",L_MapCopyrightMicrosoft="&copy; 2010 Microsoft Corporation",L_MapCopyrightTraffic="Traffic.com",L_MapControlPlatformName_Text="Virtual Earth",L_SupportedBrowserDownloadUrl_Text="http://www.microsoft.com/windows/ie/downloads/default.mspx";_VERegisterNamespaces("MapControl");MapControl.Features={PlatformName:L_MapControlPlatformName_Text,Image:{PoweredLogo:"logo_powered_by_map.png"},MapStyle:{Road:true,Shaded:true,Aerial:true,Hybrid:true,BirdsEye:true,View3D:true},BirdsEyeAtZoomLevel:10,ScaleBarKilometers:false,Traffic:{Flow:{Slow:"0-25 mph",Moderate:"25-45 mph",Fast:"45+ mph"},Enabled:true,ShowOnNavbar:false,ShowIncidents:true},RouteOptions:{RouteMode:{Driving:true,Walking:true},UseMWS:true,UseTraffic:true},Minimap:{ShowByDefault:false}};function _VERegisterNamespaces(){for(var C=0;C<arguments.length;C++){var A=arguments[C].split("."),D=window;for(var B=0;B<A.length;B++){if(!D[A[B]]){D[A[B]]={}}D=D[A[B]]}}}_VERegisterNamespaces("Msn.MVC");Msn.MVC.AbstractView=function(){this._contextPin=null};Msn.MVC.AbstractView.prototype.OnBeforeSwitchAway=function(){};Msn.MVC.AbstractView.prototype.ShowShimIfSupported=function(){};Msn.MVC.AbstractView.prototype.UpdateShimIfSupported=function(){};_VERegisterNamespaces("Msn.MVC");Msn.MVC.FlatlandView=function(){this._superObj=Msn.MVC.FlatlandView.prototype;this._mapDrawingView=null};Msn.MVC.FlatlandView.prototype=new Msn.MVC.AbstractView;Msn.MVC.FlatlandView.prototype.OnBeforeSwitchAway=function(){if(window.__drawingLoaded){this._ClearAllCollectionLayers();VE_MapDispatch.Clear()}};_VERegisterNamespaces("Msn.MVC");Msn.MVC.View3D=function(){this._superObj=Msn.MVC.View3D.prototype;this._hackUniqueLayerId="UniqueLayer_Hack";this._entityIdShapePostfix="_Shape";this._spacecontrol=null};Msn.MVC.View3D.prototype=new Msn.MVC.AbstractView;Msn.MVC.View3D.prototype.OnBeforeSwitchAway=function(){this._SetView3DControl(null)};Msn.MVC.View3D.prototype._SetView3DControl=function(A){this._spacecontrol=A};Msn.MVC.View3D.prototype.ShowShimIfSupported=function(A,B){ShowShim(A,B)};Msn.MVC.View3D.prototype.UpdateShimIfSupported=function(A,B){UpdateIFrameShim(A,B)};_VERegisterNamespaces("Msn.MVC");Msn.MVC.ViewFacade=function(){this._mvcFlatlandView=null;this._mvcView3D=null;this._curMvcView=null};Msn.MVC.ViewFacade.prototype.OnSwitchToFlatlandView=function(){if(this._mvcFlatlandView==null){this._mvcFlatlandView=new Msn.MVC.FlatlandView}if(this._curMvcView==this._mvcFlatlandView){return }if(this._curMvcView!=null){this._curMvcView.OnBeforeSwitchAway()}this._curMvcView=this._mvcFlatlandView;if(window.__drawingLoaded){this._curMvcView.OnAllCollectionLayersRepaint()}};Msn.MVC.ViewFacade.prototype.OnSwitchToView3D=function(A){if(this._mvcView3D==null){this._mvcView3D=new Msn.MVC.View3D}this._mvcView3D._SetView3DControl(A);if(this._curMvcView==this._mvcView3D){return }if(this._curMvcView!=null){this._curMvcView.OnBeforeSwitchAway()}this._curMvcView=this._mvcView3D;if(window.__drawingLoaded){this._curMvcView.OnAllCollectionLayersRepaint()}};Msn.MVC.ViewFacade.prototype.ShowShimIfSupported=function(A,B){if(this._curMvcView==null){return }return this._curMvcView.ShowShimIfSupported(A,B)};Msn.MVC.ViewFacade.prototype.UpdateShimIfSupported=function(A,B){if(this._curMvcView==null){return }return this._curMvcView.UpdateShimIfSupported(A,B)};var mvcViewFacade=new Msn.MVC.ViewFacade,windowWidth=0,windowHeight=0,scrollbarWidth=null;function $ID(B){var A=document;return A.getElementById(B)}function $CE(B){var A=document;return A.createElement(B)}function $CENS(B){var A=document;return A.createElementNS(B)}function GetWindowWidth(){var A=0;if(typeof window.innerWidth=="number"){A=window.innerWidth}else{if(document.documentElement&&document.documentElement.clientWidth){A=document.documentElement.clientWidth}else{if(document.body&&document.body.clientWidth){A=document.body.clientWidth}}}if(!A||A<100){A=100}return A}function GetWindowHeight(){var A=0;if(typeof window.innerHeight=="number"){A=window.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){A=document.documentElement.clientHeight}else{if(document.body&&document.body.clientHeight){A=document.body.clientHeight}}}if(!A||A<100){A=100}return A}function GetScrollbarWidth(){if(scrollbarWidth){return scrollbarWidth}if(navigator.userAgent.indexOf("IE")>=0){var B=document.createElement("div"),A=null;B.style.visible="hidden";B.style.overflowY="scroll";B.style.position="absolute";B.style.width=0;document.body.insertAdjacentElement("afterBegin",B);A=B.offsetWidth;B.parentNode.removeChild(B);if(!A){A=16}scrollbarWidth=A;return A}else{return 0}}function GetUrlPrefix(){var B=window.location.pathname.lastIndexOf("/"),A=window.location.protocol+"//"+window.location.hostname+window.location.pathname.substring(0,B+1);return A}function GetUrlParameterString(){var A=window.location.search;if(A.length==0||A.indexOf("?")==-1){return""}return A.substr(A.indexOf("?")+1)}function CheckWipExistence(){var A=GetUrlParameterString();if(A!=""&&A.indexOf("wip=")>-1){return true}return false}function GetUrlParameters(){var A=[],D=GetUrlParameterString();if(!D){return A}var C=D.split("&");for(var E=0;E<C.length;E++){var B=C[E].split("=");if(B.length==2&&B[0]&&B[1]){A.push(unescape(B[0]));A.push(unescape(B[1]))}}return A}function ParseShiftKeyForLinks(A){if(A.shiftKey){return false}return true}function GetEvent(A){return A?A:window.event}function CancelEvent(A){A.cancelBubble=true;A.returnValue=false}function IgnoreEvent(A){A=GetEvent(A);CancelEvent(A);return false}function GetMouseScrollDelta(A){if(A.wheelDelta){return A.wheelDelta}else{if(A.detail){return -A.detail}}return 0}function IsLeftMouseButton(B){var A=Msn.VE.Environment.BrowserInfo;if(A.Type==Msn.VE.BrowserType.MSIE){return B.button==1||B.button==3||B.type=="click"}else{if(A.Type==Msn.VE.BrowserType.Firefox){return B.which==1}else{return false}}}function IsRightMouseButton(B){var A=Msn.VE.Environment.BrowserInfo;if(A.Type==Msn.VE.BrowserType.MSIE){return B.button==2||B.button==3||B.type=="contextmenu"}else{if(A.Type==Msn.VE.BrowserType.Firefox){return B.which==3}else{return false}}}function IsMiddleMouseButton(A){var B=Msn.VE.Environment.BrowserInfo;if(B.Type==Msn.VE.BrowserType.MSIE){return A.button==4}else{if(B.Type==Msn.VE.BrowserType.Firefox){return A.which==2}else{return false}}}_VERegisterNamespaces("Msn.VE");Msn.VE.DistanceUnit={Kilometers:"km",Miles:"mi"};Msn.VE.DistanceUnit.IsValidType=function(A){if(typeof A=="string"){if(A==Msn.VE.DistanceUnit.Miles||A==Msn.VE.DistanceUnit.Kilometers){return true}}return false};function VEException(A,C,B){this.source=A;this.name=C;this.message=B}VEException.prototype.Name=this.name;VEException.prototype.Source=this.source;VEException.prototype.Message=this.message;function MathFloor(A){return Math.floor(A)}function MathCeil(A){return Math.ceil(A)}function MathMax(B,A){return Math.max(B,A)}function MathMin(B,A){return Math.min(B,A)}function MathAbs(A){return Math.abs(A)}function MathRound(A){return Math.round(A)}function DegToRad(A){return A*Math.PI/180}function RadToDeg(A){return A*180/Math.PI}function MatrixMultiply(E,H){if(!E||!H||E[0].length!=H.length){return }var C=E.length,B=H[0].length,F=new Array(C),A=H.length;for(var I=0;I<C;I++){F[I]=new Array(B);for(var G=0;G<B;G++){F[I][G]=0;for(var D=0;D<A;D++){F[I][G]+=E[I][D]*H[D][G]}}}return F}function VEParameter(A,B){this.Name=A;this.Value=B}VEParameter.prototype.Name=this.name;VEParameter.prototype.Value=this.value;function VENetwork(C,B,A){if(C!=null&&C!="undefined"){this.ServiceUrl=C}this.UseCloseDep=false;if(B!=null&&B!="undefined"){Msn.VE.API.Globals.veonbegininvokeevent=B}if(A!=null&&A!="undefined"){Msn.VE.API.Globals.veonendinvokeevent=A}}function BeginInvoke(E,G,C,D,A){if(this.ServiceUrl==null||this.ServiceUrl=="undefined"||this.ServiceUrl.length==0){throw new VEException("VENetwork:BeginInvoke","err_noserviceurl",L_noserviceurl_text)}if(Msn.VE.API&&Msn.VE.API.Globals.veonbegininvokeevent){Msn.VE.API.Globals.veonbegininvokeevent()}var H=A;if(!H){H=VENetwork.GetExecutionID()}if(G){var I=this.ServiceUrl+"?";for(var F=0;F<G.length;F++){I=I+G[F].Name;I=I+"=";I=I+G[F].Value;I=I+"&"}}else{var I=this.ServiceUrl}var J=document.createElement("script");J.type="text/javascript";J.language="javascript";J.id=H;J.src=I;if(this.UseCloseDep==true){var B=openDependency("BEGIN_INVOKE::"+H,function(){EndInvoke(D,C,E,J,H)},H);if(B){VENetwork.GetAttachTarget().appendChild(J)}}else{if(navigator.userAgent.indexOf("IE")>=0){J.onreadystatechange=function(){if(J&&("loaded"==J.readyState||"complete"==J.readyState)){J.onreadystatechange=null;EndInvoke(D,C,E,J,H)}}}else{J.onload=function(){J.onload=null;EndInvoke(D,C,E,J,H)}}VENetwork.GetAttachTarget().appendChild(J)}}function EndInvoke(endInvokeTarget,fnCallback,endInvokeMethod,elScript,executionId){var objects=null;if(endInvokeMethod){eval("if(typeof "+endInvokeMethod+" == 'function') {objects = "+endInvokeMethod+"();}")}setTimeout(function(){if(elScript.parentNode){elScript.parentNode.removeChild(elScript)}elScript=null},100);if(fnCallback!=null&&fnCallback!="undefined"){fnCallback(objects,endInvokeTarget)}if(Msn.VE.API&&Msn.VE.API.Globals.veonendinvokeevent){Msn.VE.API.Globals.veonendinvokeevent()}}VENetwork.GetExecutionID=function(){var B=new Date,A=Date.UTC(B.getFullYear(),B.getMonth(),B.getDate(),B.getHours(),B.getMinutes(),B.getSeconds(),B.getMilliseconds());A+=Math.round(Math.random()*1000000);return A};function GetXmlHttp(){var B=null;if(window.XMLHttpRequest){B=new XMLHttpRequest}else{if(window.ActiveXObject){try{B=new ActiveXObject("Msxml2.XmlHttp.6.0")}catch(A){try{B=new ActiveXObject("Msxml2.XmlHttp.3.0")}catch(E){try{B=new ActiveXObject("Msxml2.XMLHTTP")}catch(D){try{B=new ActiveXObject("Microsoft.XMLHTTP")}catch(C){}}}}}else{throw"XMLHTTP Required: Browser not supported"}}return B}VENetwork.AttachStyleSheetCallback=function(A){if(A){A()}};VENetwork.AttachStyleSheet=function(B,A,C,D){if(B==null||B=="undefined"||B.length==0){throw new VEException("VENetwork:AttachStylesheet","err_nostylesurl","")}elStyle=document.createElement("link");if(C==true){elStyle.rel="alternate stylesheet"}else{elStyle.rel="stylesheet"}if(D){elStyle.media=D}elStyle.type="text/css";elStyle.rev="stylesheet";elStyle.id=VENetwork.GetExecutionID();elStyle.href=B;VENetwork.GetAttachTarget().appendChild(elStyle);if(navigator.userAgent.indexOf("IE")>=0){elStyle.onreadystatechange=function(){if(elStyle&&("loaded"==elStyle.readyState||"complete"==elStyle.readyState)){elStyle.onreadystatechange=null;VENetwork.AttachStyleSheetCallback(A)}}}else{VENetwork.AttachStyleSheetCallback(A)}return };VENetwork.DownloadScriptCallback=function(B,A){if(B){B(A)}};VENetwork.DownloadScript=function(A,D,C){if(A==null||A=="undefined"||A.length==0){throw new VEException("VENetwork:DownloadScript","err_noscripturl",L_noscripturl_text)}var B=document.createElement("script");B.type="text/javascript";B.language="javascript";B.id=VENetwork.GetExecutionID();B.src=A;if(navigator.userAgent.indexOf("IE")>=0){B.onreadystatechange=function(){if(B&&("loaded"==B.readyState||"complete"==B.readyState)){B.onreadystatechange=null;VENetwork.DownloadScriptCallback(D,C)}}}else{B.onload=function(){B.onload=null;VENetwork.DownloadScriptCallback(D,C)}}VENetwork.GetAttachTarget().appendChild(B);return B.id};VENetwork.DownloadXml=function(C,E,A,D){var B=GetXmlHttp();B.open(E,C,true);B.onreadystatechange=function(){if(B.readyState==4){if(A){A(B.responseXML,D)}B=null}};B.send(null)};VENetwork.GetAttachTarget=function(){if(document.getElementsByTagName("head")[0]!=null){return document.getElementsByTagName("head")[0]}else{throw new VEException("VENetwork:cstr","err_noheadelement",L_noheadelement_text)}};VENetwork.prototype.BeginInvoke=BeginInvoke;VENetwork.prototype.EndInvoke=EndInvoke;function JSONConstant(){}JSONConstant.culture="culture";JSONConstant.format="format";JSONConstant.json="json";JSONConstant.requestid="rid";function JSONRequestInvoke(C,B,D){var F=new VENetwork,A=VENetwork.GetExecutionID();F.UseCloseDep=true;F.ServiceUrl=C;if(!B){B=[]}var E=Msn.VE.API?Msn.VE.API.Globals.locale:window.serviceLocale;B.push(new VEParameter(JSONConstant.culture,'"'+E+'"'));B.push(new VEParameter(JSONConstant.format,JSONConstant.json));B.push(new VEParameter(JSONConstant.requestid,A));F.BeginInvoke("_f"+A,B,D,null,A)}_VERegisterNamespaces("Msn.Drawing");var MC_PointID=10000,MC_PolylineID=30000,MC_PolygonID=50000,MC_SYMBOL_IID=70000,MC_TEXT_IID=90000,MC_ENTITY_IID=200000,MC_COL_IID=1000,MC_GEO_TYPE_SYMBOL="Symbol",MC_GEO_TYPE_POINT="Point",MC_GEO_TYPE_POLYLINE="Polyline",MC_GEO_TYPE_POLYGON="Polygon",MC_GEO_TYPE_TEXT="Text",MC_GEO_TYPE_COL="Collection",MC_GEO_TYPE_ENTITY="Entity",VEShapeType={Pushpin:"Point",Polyline:"Polyline",Polygon:"Polygon"},VEMapserviceType={None:"None",MapCruncher:"MapCruncher",KML:"KML",WMS:"WMS"},VEMapserviceTypeList=[VEMapserviceType.None,VEMapserviceType.MapCruncher,VEMapserviceType.KML,VEMapserviceType.WMS];VEMapserviceTypeIndex=function(C){var A=-1;if(VEMapserviceTypeList!=null){for(var B=0;B<VEMapserviceTypeList.length;B++){if(C==VEMapserviceTypeList[B]){A=B;break}}}return A};IsValidMapserviceType=function(A){return A!=null&&typeof A!="undefined"&&A!=""&&VEMapserviceTypeIndex(A)!=-1};IsValidMapserviceSource=function(A){return A!=null&&typeof A!="undefined"&&A!=""};IsValidMapserviceMetadata=function(A){return A!=null&&typeof A!="undefined"&&A!=""};IsValidMapserviceOpacity=function(A){return A!=null&&typeof A!="undefined"&&A>=0&&A<=1};Msn.Drawing.GetGeoUID=function(A){var B="";switch(A){case VEShapeType.Polygon:B=MC_PolygonID++;break;case VEShapeType.Pushpin:B=MC_PointID++;break;case VEShapeType.Polyline:B=MC_PolylineID++;break;case MC_GEO_TYPE_SYMBOL:B=MC_SYMBOL_IID++;break;case MC_GEO_TYPE_TEXT:B=MC_TEXT_IID++;break;case MC_GEO_TYPE_COL:B=MC_COL_IID++;break;case MC_GEO_TYPE_ENTITY:B=MC_ENTITY_IID++}return B.toString()};Msn.Drawing.Exception=function(A){this.message=A;this.name="Msn.Drawing.Exception"};Msn.Drawing.Exception.prototype.toString=function(){return this.name+": "+this.message};Msn.Drawing.Point=function(B,A){this.id=0;this.points=[];this.points.push(B);this.points.push(A);this.iid=Msn.Drawing.GetGeoUID(VEShapeType.Pushpin)};Msn.Drawing.Point.prototype.altitudes=null;Msn.Drawing.Point.prototype.altitudeMode="Ground";Msn.Drawing.Point.prototype.type=VEShapeType.Pushpin;Msn.Drawing.Point.prototype.name=null;Msn.Drawing.Point.prototype.symbol=null;Msn.Drawing.Point.prototype.isLabel=true;Msn.Drawing.Point.prototype.isOnLegend=false;Msn.Drawing.Point.prototype.Destroy=function(){this.symbol=null;this.points=null;this.altitudes=null;this.altitudeMode=null};Msn.Drawing.Point.prototype.toString=function(){return this.points[0]+","+this.points[1]};Msn.Drawing.PolyLine=function(A){this.id=0;this.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polyline);this.points=A?A:[];this.minX=null;this.minY=null;this.maxX=null;this.maxY=null;this.length=-1};Msn.Drawing.PolyLine.prototype.toString=function(){if(this.points!=null){return this.points.join(" ")}else{return""}};Msn.Drawing.PolyLine.prototype.altitudes=null;Msn.Drawing.PolyLine.prototype.altitudeMode="Ground";Msn.Drawing.PolyLine.prototype.extruded=false;Msn.Drawing.PolyLine.prototype.minZ=null;Msn.Drawing.PolyLine.prototype.maxZ=null;Msn.Drawing.PolyLine.prototype.minX=null;Msn.Drawing.PolyLine.prototype.minY=null;Msn.Drawing.PolyLine.prototype.maxX=null;Msn.Drawing.PolyLine.prototype.maxY=null;Msn.Drawing.PolyLine.prototype.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polyline);Msn.Drawing.PolyLine.prototype.labelPosX=null;Msn.Drawing.PolyLine.prototype.labelPosY=null;Msn.Drawing.PolyLine.prototype.labelPosZ=null;Msn.Drawing.PolyLine.prototype.name=null;Msn.Drawing.PolyLine.prototype.type=VEShapeType.Polyline;Msn.Drawing.PolyLine.prototype.symbol=null;Msn.Drawing.PolyLine.prototype.isLabel=true;Msn.Drawing.PolyLine.prototype.isOnLegend=false;Msn.Drawing.PolyLine.prototype.Destroy=function(){this.symbol=null;this.points=null;this.altitudes=null;this.altitudeMode=null;this.extruded=null;this.minX=null;this.minY=null;this.maxX=null;this.maxY=null;this.minZ=null;this.maxZ=null};Msn.Drawing.PolyLine.prototype.GetLength=function(){if(this.length<0){this.length=CalculateShapeLengthP(this.points)}return this.length};Msn.Drawing.PolyLine.prototype.SetLength=function(A){this.length=A};Msn.Drawing.Polygon=function(A){this.id=0;this.iid=Msn.Drawing.GetGeoUID(VEShapeType.Polygon);this.points=A;this.length=-1;this.area=-1;this.minX=null;this.minY=null;this.maxX=null;this.maxY=null};Msn.Drawing.Polygon.prototype.altitudes=null;Msn.Drawing.Polygon.prototype.altitudeMode="Ground";Msn.Drawing.Polygon.prototype.extruded=false;Msn.Drawing.Polygon.prototype.minZ=null;Msn.Drawing.Polygon.prototype.maxZ=null;Msn.Drawing.Polygon.prototype.labelPosX=null;Msn.Drawing.Polygon.prototype.labelPosY=null;Msn.Drawing.Polygon.prototype.labelPosZ=null;Msn.Drawing.Polygon.prototype.symbol=null;Msn.Drawing.Polygon.prototype.isLabel=true;Msn.Drawing.Polygon.prototype.isOnLegend=false;Msn.Drawing.Polygon.prototype.type=VEShapeType.Polygon;Msn.Drawing.Polygon.prototype.name=null;Msn.Drawing.Polygon.prototype.Destroy=function(){this.symbol=null;this.points=null;this.altitudes=null;this.altitudeMode=null;this.extruded=null;this.minX=null;this.minY=null;this.maxX=null;this.maxY=null;this.minZ=null;this.maxZ=null};Msn.Drawing.Polygon.prototype.GetLength=function(){if(this.length<0){this.length=CalculateShapeLength(this)}return this.length};Msn.Drawing.Polygon.prototype.SetLength=function(A){this.length=A};Msn.Drawing.Polygon.prototype.GetArea=function(){if(this.area<0){this.area=CalculateAreaP(this.points)}if(this.area<0){this.area=CalculateAreaP(this.points,false)}return this.area};Msn.Drawing.Polygon.prototype.SetArea=function(A){this.area=A};Msn.Drawing.Stroke=function(){this.width=1;this.linecap="round";this.opacity=1;this.linejoin="miter";this.color=new Msn.Drawing.Color(255,255,255,1);this.fillcolor=new Msn.Drawing.Color(0,255,0,1)};Msn.Drawing.Color=function(C,D,A,B){this.R=C?C:0;this.G=D?D:0;this.B=A?A:0;this.A=B?B:0;this.ToHexString=function(){return VEColorToHexString(this.R,this.G,this.B)}};VEShapeStyle=function(){this.iid=Msn.Drawing.GetGeoUID(MC_GEO_TYPE_SYMBOL);this.id=this.iid};VEShapeStyle.prototype.point_type="v:rect";VEShapeStyle.prototype.name="symbol";VEShapeStyle.prototype.highlight_stroke_color="#336666";VEShapeStyle.prototype.highlight_fill_color="#FFCC33";VEShapeStyle.prototype.shape_drawtype="v:shape";VEShapeStyle.prototype.shape_fill="false";VEShapeStyle.prototype.shape_filled="false";VEShapeStyle.prototype.shape_unselectable="off";VEShapeStyle.prototype.style_zIndex=60;VEShapeStyle.prototype.style_zIndex_polyshape=50;VEShapeStyle.prototype.style_position="absolute";VEShapeStyle.prototype.style_filter="alpha(opacity=30)";VEShapeStyle.prototype.style_width="10";VEShapeStyle.prototype.style_height="10";VEShapeStyle.prototype.style_visibility="visible";VEShapeStyle.prototype.style_display="block";VEShapeStyle.prototype.stroke_drawtype="v:stroke";VEShapeStyle.prototype.stroke_on="true";VEShapeStyle.prototype.stroke_joinstyle="miter";VEShapeStyle.prototype.stroke_endcap="round";VEShapeStyle.prototype.stroke_opacity="1";VEShapeStyle.prototype.stroke_color="#0000FF";VEShapeStyle.prototype.stroke_weight="2pt";VEShapeStyle.prototype.stroke_style="Single";VEShapeStyle.prototype.stroke_filltype="solid";VEShapeStyle.prototype.stroke_color2="#FF0000";VEShapeStyle.prototype.stroke_dashstyle="Solid";VEShapeStyle.prototype.stroke_startarrow="none";VEShapeStyle.prototype.stroke_startarrowwidth="medium";VEShapeStyle.prototype.stroke_startarrowlength="medium";VEShapeStyle.prototype.stroke_endarrow="none";VEShapeStyle.prototype.stroke_endarrowwidth="medium";VEShapeStyle.prototype.stroke_endarrowlength="medium";VEShapeStyle.prototype.fill_drawtype="v:fill";VEShapeStyle.prototype.fill_color="#008000";VEShapeStyle.prototype.fill_colors="30% yellow";VEShapeStyle.prototype.fill_color2="#0000FF";VEShapeStyle.prototype.fill_type="solid";VEShapeStyle.prototype.fill_opacity="0.3";VEShapeStyle.prototype.fill_on="false";VEShapeStyle.prototype.textbox_drawtype="v:textbox";VEShapeStyle.prototype.textbox_text="name";VEShapeStyle.prototype.textbox_color="#FFFFFF";VEShapeStyle.prototype.textbox_bold=false;VEShapeStyle.prototype.textbox_italic=false;VEShapeStyle.prototype.textbox_underscore=false;VEShapeStyle.prototype.textbox_font="Arial";VEShapeStyle.prototype.textbox_size=7;VEShapeStyle.prototype.imagedata_on=false;VEShapeStyle.prototype.imagedata_src=null;VEShapeStyle.prototype.isOn=false;VEShapeStyle.prototype.textbox_OffsetX=0;VEShapeStyle.prototype.textbox_OffsetY=0;VEShapeStyle.prototype.textbox_backcolor="#0000FF";VEShapeStyle.textbox_color_opacity="1";VEShapeStyle.textbox_backcolor_opacity="1";VEShapeStyle.prototype.img_offsetX=0;VEShapeStyle.prototype.img_offsetY=0;VEShapeStyle.prototype.img_width=22;VEShapeStyle.prototype.img_height=22;VEShapeStyle.prototype.Clone=function(){var A=new VEShapeStyle;A.point_type=this.point_type;A.name=this.name;A.line_color=this.line_color;A.line_width=this.line_width;A.line_dasharray=this.line_dasharray;A.highlight_stroke_color=this.highlight_stroke_color;A.highlight_fill_color=this.highlight_fill_color;A.shape_drawtype=this.shape_drawtype;A.shape_fill=this.shape_fill;A.shape_filled=this.shape_filled;A.shape_unselectable=this.shape_unselectable;A.style_zIndex=this.style_zIndex;A.style_zIndex_polyshape=this.style_zIndex_polyshape;A.style_position=this.style_position;A.style_filter=this.style_filter;A.style_width=this.style_width;A.style_height=this.style_height;A.style_visibility=this.style_visibility;A.style_display=this.style_display;A.stroke_drawtype=this.stroke_drawtype;A.stroke_on=this.stroke_on;A.stroke_joinstyle=this.stroke_joinstyle;A.stroke_endcap=this.stroke_endcap;A.stroke_opacity=this.stroke_opacity;A.stroke_color=this.stroke_color;A.stroke_weight=this.stroke_weight;A.stroke_style=this.stroke_style;A.stroke_filltype=this.stroke_filltype;A.stroke_color2=this.stroke_color2;A.stroke_dashstyle=this.stroke_dashstyle;A.stroke_startarrow=this.stroke_startarrow;A.stroke_startarrowwidth=this.stroke_startarrowwidth;A.stroke_startarrowlength=this.stroke_startarrowlength;A.stroke_endarrow=this.stroke_endarrow;A.stroke_endarrowwidth=this.stroke_endarrowwidth;A.stroke_endarrowlength=this.stroke_endarrowlength;A.fill_drawtype=this.fill_drawtype;A.fill_color=this.fill_color;A.fill_colors=this.fill_colors;A.fill_color2=this.fill_color2;A.fill_type=this.fill_type;A.fill_opacity=this.fill_opacity;A.fill_on=this.fill_on;A.textbox_drawtype=this.textbox_drawtype;A.textbox_text=this.textbox_text;A.textbox_color=this.textbox_color;A.textbox_bold=this.textbox_bold;A.textbox_italic=this.textbox_italic;A.textbox_underscore=this.textbox_underscore;A.textbox_backcolor=this.textbox_backcolor;A.imagedata_on=this.imagedata_on;A.imagedata_src=this.imagedata_src;A.isOn=this.isOn;A.textbox_OffsetX=this.textbox_OffsetX;A.textbox_OffsetY=this.textbox_OffsetY;A.img_offsetX=this.img_offsetX;A.img_offsetY=this.img_offsetY;A.img_width=this.img_width;A.img_height=this.img_height;return A};function VE_MapLineClip(){var A=-360,H=360,G=-180,F=180,B={LEFT:1,RIGHT:2,BOTTOM:4,TOP:8};function C(R,X,V,W,U){A=X;H=W;G=V;F=U;if(typeof R=="undefined"||R==null||R.length<4){return null}var N=false,L=R.length;if(R[L-2]==R[0]&&R[L-1]==R[1]){N=true}var T=[];for(var O=0;O<R.length;O++){T.push(R[O])}var P=B.LEFT;while(P<=8){var J=T[T.length-2],I=T[T.length-1];T.push(J);T.push(I);var S=[],K=T.length;for(var Q=0;Q<K-2;Q=Q+2){D(S,P,T[Q],T[Q+1],T[Q+2],T[Q+3])}if(N){var M=S.length;if(S[M-2]!=S[0]||S[M-1]!=S[1]){S.push(S[0]);S.push(S[1])}}T=null;P=P*2;T=S}return T}function D(S,P,R,Q,O,N){var L=E(R,Q),K=E(O,N);if((P&L)==0&&(P&K)==0){S.push(R);S.push(Q)}else{if((P&L)==0||(P&K)==0){var M=(P&L)==0?true:false;if(P==B.LEFT){var I=Q+(N-Q)*(A-R)/(O-R);if(M){S.push(R);S.push(Q)}S.push(A);S.push(I)}else{if(P==B.RIGHT){var I=Q+(N-Q)*(H-R)/(O-R);if(M){S.push(R);S.push(Q)}S.push(H);S.push(I)}else{if(P==B.TOP){var J=R+(O-R)*(F-Q)/(N-Q);if(M){S.push(R);S.push(Q)}S.push(J);S.push(F)}else{if(P==B.BOTTOM){var J=R+(O-R)*(G-Q)/(N-Q);if(M){S.push(R);S.push(Q)}S.push(J);S.push(G)}}}}}}}function E(J,I){var K=0;if(J<A){K=K|B.LEFT}else{if(J>H){K=K|B.RIGHT}}if(I<G){K=K|B.BOTTOM}else{if(I>F){K=K|B.TOP}}return K}this.Clip=C}VE_LineClip=new VE_MapLineClip;var L_GraphicsInitError_Text="Your Web browser does not support SVG or VML. Some graphics features may not function properly.";_VERegisterNamespaces("Msn.Drawing");Msn.Drawing.Graphic=function(){};Msn.Drawing.Graphic.CreateGraphic=function(E,A){if(Msn.VE.Environment.BrowserInfo.BrowserCaps&Msn.VE.BrowserCaps.VML){return new Msn.Drawing.VMLGraphic(E,A)}else{if(navigator.userAgent.indexOf("KHTML")!==-1||Gimme.Browser.isOpera){return new Msn.Drawing.SVGGraphic(E,A)}var G=0,D=0,C=new RegExp("Firefox/(.*)"),F=C.exec(navigator.userAgent);if(F&&F.length>=2){var B=F[1].split(".");if(B){G=B[0];D=B[1];if(parseInt(G)>0&&parseInt(D)>=5||parseInt(G)>=2){return new Msn.Drawing.SVGGraphic(E,A)}}}throw new Msn.Drawing.Exception(L_GraphicsInitError_Text)}};Msn.Drawing.BaseGraphic=function(){this._stroke=new Msn.Drawing.Stroke};Msn.Drawing.BaseGraphic.prototype.CreatePrimitive=function(){};Msn.Drawing.BaseGraphic.prototype.DrawPrimitive=function(D,E,B){var A=new VEShapeStyle;if(B._stroke){A.stroke_weight=B._stroke.width;A.stroke_joinstyle=B._stroke.linejoin;A.stroke_color=B._stroke.color.ToHexString();A.stroke_dashstyle=B._stroke.linecap;A.stroke_opacity=B._stroke.color.A.toString();A.fill_color=B._stroke.fillcolor.ToHexString();A.fill_opacity=B._stroke.fillcolor.A.toString()}E.symbol=A;var C=B.CreatePrimitive(D,E,"");return C};Msn.Drawing.BaseGraphic.prototype.SetStroke=function(A){this._stroke=A};Msn.Drawing.VMLGraphic=function(G,F){Msn.Drawing.BaseGraphic.call();var C=new Msn.Drawing.Color(255,0,0,1),D=new Msn.Drawing.Color(255,0,0,1),E=1,B=G;G.unselectable="on";var A=[];this.DrawPrimitive=function(H,I){var J=Msn.Drawing.VMLGraphic.prototype.DrawPrimitive(F,H,this);if(B&&J){if(I){B.appendChild(wrapVmlElementInDiv(J))}else{B.appendChild(J)}A.push(J)}};this.resetOffset=function(){};this.SetZIndex=function(H){E=H};this.Clear=function(){var H=null,I=null;while(H=A.pop()){I=H.parentElement;if(I){I.removeChild(H)}H=null}};this.Destroy=function(){this.Clear();B=null}};Msn.Drawing.VMLGraphic.prototype=new Msn.Drawing.BaseGraphic;Msn.Drawing.VMLGraphic.prototype.CreatePrimitive=function(E,I){var H=null;if(I.type==VEShapeType.Pushpin){if(I.symbol.shape_drawtype=="v:oval"||I.symbol.shape_drawtype=="v:rect"||I.symbol.shape_drawtype=="v:roundrect"){H=document.createElement(I.symbol.shape_drawtype)}else{H=document.createElement("v:roundrect")}H.className="vml";var D=LatLongtoRoundedPixel(E,I.points[1],I.points[0]);H.style.width=I.symbol.style_width;H.style.height=I.symbol.style_height;H.style.left=-5+D.x+E.GetOffsetX()+"px";H.style.top=-5+D.y+E.GetOffsetY()+"px";H.style.position=I.symbol.style_position}else{H=document.createElement("v:shape");H.className="MSVE_Shape vml";var C=null;C=GetVmlPath(E,I);var B=E.GetMapWidth(),A=E.GetMapHeight();H.style.top="0px";H.style.left="0px";H.style.width=B+"px";H.style.height=A+"px";H.coordsize=B+" "+A;H.style.position=I.symbol.style_position;H.path=C}H.id=I.id!=0?I.id:I.iid;H.style.zIndex=I.symbol.style_zIndex_polyshape;H.unselectable=I.symbol.shape_unselectable;var G=document.createElement("v:stroke");G.className="vml";G.joinstyle=I.symbol.stroke_joinstyle;G.endcap=I.symbol.stroke_endcap;G.opacity=I.symbol.stroke_opacity;G.dashstyle=I.symbol.stroke_dashstyle;G.filltype=I.symbol.stroke_filltype;G.color2=I.symbol.stroke_color2;G.color=I.symbol.stroke_color;G.weight=I.symbol.stroke_weight;G.linestyle=I.symbol.stroke_style;if(I.type==VEShapeType.Polygon){var F=document.createElement("v:fill");F.className="vml";F.color=I.symbol.fill_color;F.colors=I.symbol.fill_colors;F.color2=I.symbol.fill_color2;F.type=I.symbol.fill_type;F.opacity=I.symbol.fill_opacity;H.appendChild(F)}else{if(I.type==VEShapeType.Polyline){H.filled=false}else{if(I.type==VEShapeType.Pushpin){H.style.filter=I.symbol.style_filter;H.style.zIndex=I.symbol.style_zIndex;H.style.display=I.symbol.style_display;H.unselectable=I.symbol.shape_unselectable;H.fill=true;H.filled=true;H.fillcolor=I.symbol.fill_color}}}H.appendChild(G);return H};Msn.Drawing.VMLGraphic.prototype.UpdatePoints=function(D,B,A,E){if(E&&(B.type==VEShapeType.Polyline||B.type==VEShapeType.Polygon)){var C=GetVmlPath(D,B);A.path=C}return A};Msn.Drawing.VMLGraphic.prototype.UpdateStyle=function(C,B,D){D.style.zIndex=B.symbol.style_zIndex_polyshape;D.unselectable=B.symbol.shape_unselectable;var F=D.firstChild,A=null,E=null;while(F!=null){if(F.tagName=="stroke"){A=F}else{if(F.tagName=="fill"){E=F}}F=F.nextSibling}if(A){A.joinstyle=B.symbol.stroke_joinstyle;A.endcap=B.symbol.stroke_endcap;A.opacity=B.symbol.stroke_opacity;A.dashstyle=B.symbol.stroke_dashstyle;A.filltype=B.symbol.stroke_filltype;A.color2=B.symbol.stroke_color2;A.color=B.symbol.stroke_color;A.weight=B.symbol.stroke_weight;A.linestyle=B.symbol.stroke_style}if(B.type==VEShapeType.Polygon&&E){E.color=B.symbol.fill_color;E.color2=B.symbol.fill_color2;E.type=B.symbol.fill_type;E.opacity=B.symbol.fill_opacity}return D};Msn.Drawing.VMLGraphic.prototype._printable=false;Msn.Drawing.VMLGraphic.prototype._printTilesLayer=null;Msn.Drawing.VMLGraphic.prototype._printTopLayer=null;Msn.Drawing.VMLGraphic.prototype.CreatePrintLayer=function(B,C,D,A){if(!this._printable){this._printTilesLayer=document.createElement("div");this._printTilesLayer.className="MSVE_Print_TileLayer";this._printTilesLayer.innerHTML="<xml:namespace ns='urn:schemas-microsoft-com:vml' prefix='v'/>";B.appendChild(this._printTilesLayer);this._printTopLayer=document.createElement("div");this._printTopLayer.className="MSVE_Print_TopLayer";this._printTopLayer.innerHTML="<xml:namespace ns='urn:schemas-microsoft-com:vml' prefix='v'/>";this._printTopLayer.style.width=D;this._printTopLayer.style.height=A;this._printTopLayer.zIndex=100;B.parentNode.appendChild(this._printTopLayer);this._printable=true}};Msn.Drawing.VMLGraphic.prototype.RemovePrintLayer=function(){if(this._printable){this._printable=false;this._printTilesLayer.parentNode.removeChild(this._printTilesLayer);this._printTopLayer.parentNode.removeChild(this._printTopLayer);this._printTilesLayer=null;this._printTopLayer=null}};Msn.Drawing.VMLGraphic.prototype.AddPrintTile=function(E,D,F,G,A,C,H){var B=null;if(this._printable){B=document.createElement("div");B.style.position="absolute";B.style.top=D;B.style.left=F;B.style.width=G+1;B.style.height=A+1;B.style.zIndex=H;B.innerHTML="<v:image src='"+E+"' style='width:100%;height:100%;left:0px;top:0px;behavior:url(#default#VML);display:inline-block;'></v:image>";this._printTilesLayer.appendChild(B)}return B};Msn.Drawing.VMLGraphic.prototype.RemovePrintTile=function(A){if(A.parentNode){A.parentNode.removeChild(A)}};Msn.Drawing.VMLGraphic.prototype.AddLogo=function(A){if(this._printable){var B=document.createElement("v:image");B.src=A;B.className="MSVE_PoweredByLogo_print vml";this._printTopLayer.appendChild(B)}};Msn.Drawing.SVGGraphic=function(G,A){Msn.Drawing.BaseGraphic.call();var C=new Msn.Drawing.Color(255,0,0,1),D=new Msn.Drawing.Color(0,255,0,1);_curmap=A;this._svgLayer=null;var F=60,E=G,B=[];this.DrawPrimitive=function(H){var I=Msn.Drawing.SVGGraphic.prototype.DrawPrimitive(A,H,this);if(I){B.push(I)}};this.resetOffset=function(){_curmap.resetSvgLayer()};this.SetZIndex=function(H){F=H;if(this._svgLayer!=null){this._svgLayer.SetZIndex(H)}};this.Destroy=function(){this.Clear()};this.Clear=function(){if(this._svgLayer==null){return }var H=null,I=null;while(H=B.pop()){I=H.parentNode;if(I){I.removeChild(H)}H=null}}};Msn.Drawing.SVGGraphic.prototype=new Msn.Drawing.BaseGraphic;Msn.Drawing.SVGGraphic.prototype.CreatePrimitive=function(B,A,C){this._svgLayer=B.getSvgLayer();return this._svgLayer.addShape(A,C)};Msn.Drawing.SVGGraphic.prototype.UpdatePoints=function(B,A,C){this._svgLayer=B.getSvgLayer();return this._svgLayer.UpdatePoints(A,C)};Msn.Drawing.SVGGraphic.prototype.UpdateStyle=function(B,A,C){this._svgLayer=B.getSvgLayer();return this._svgLayer.UpdateStyle(A,C)};Msn.Drawing.SVGGraphic.prototype._printable=false;Msn.Drawing.SVGGraphic.prototype._printTilesLayer=null;Msn.Drawing.SVGGraphic.prototype._printTopLayer=null;Msn.Drawing.SVGGraphic.prototype._printLogo=null;Msn.Drawing.SVGGraphic.prototype._offsetX=null;Msn.Drawing.SVGGraphic.prototype._offsetY=null;Msn.Drawing.SVGGraphic.prototype.CreatePrintLayer=function(C,B,D,A){if(!this._printable){this._svgLayer=B.getSvgLayer();this._printTopLayer=this._svgLayer.CreatePrintLayer("MSVE_Print_TopLayer");this._printTopLayer.setAttributeNS(null,"width",parseInt(D));this._printTopLayer.setAttributeNS(null,"height",parseInt(A));this._printTilesLayer=this._svgLayer.CreatePrintLayer("MSVE_Print_TileLayer");this._printable=true}};Msn.Drawing.SVGGraphic.prototype.RemovePrintLayer=function(){if(this._printable){this._printTilesLayer.parentNode.removeChild(this._printTilesLayer);this._printTopLayer.parentNode.removeChild(this._printTopLayer);this._printTilesLayer=null;this._printTopLayer=null;this._printLogo=null;this._printable=false}};Msn.Drawing.SVGGraphic.prototype.AddPrintTile=function(D,C,E,F,H,A,G){var B=null;if(this._printable){B=document.createElementNS("http://www.w3.org/2000/svg","image");B.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",D);B.setAttributeNS(null,"preserveAspectRatio","none");B.setAttributeNS(null,"x",E-this._offsetX);B.setAttributeNS(null,"y",C-this._offsetY);B.setAttributeNS(null,"width",F);B.setAttributeNS(null,"height",H);B.setAttributeNS(null,"opacity",A);this.AddPrintTileToLayer(B,G)}return B};Msn.Drawing.SVGGraphic.prototype.AddPrintTileToLayer=function(C,A){var B=this._printTilesLayer.firstChild;while(B&&B.style.zIndex<A){B=B.nextSibling}if(!B||B.style.zIndex!=A){var D=document.createElementNS("http://www.w3.org/2000/svg","g");D.style.zIndex=A;this._printTilesLayer.insertBefore(D,B);B=D}B.appendChild(C)};Msn.Drawing.SVGGraphic.prototype.RemovePrintTile=function(A){if(this._printable){A.parentElement.removeChild(A)}};Msn.Drawing.SVGGraphic.prototype.RePositionPrintTile=function(B,C,A){B.setAttributeNS(null,"x",A-this._offsetX);B.setAttributeNS(null,"y",C-this._offsetY)};Msn.Drawing.SVGGraphic.prototype.SetOffset=function(B,A){this._offsetX=B;this._offsetY=A};Msn.Drawing.SVGGraphic.prototype.AddLogo=function(A){if(this._printable){var B=document.createElementNS("http://www.w3.org/2000/svg","image");B.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A);B.setAttributeNS(null,"class","MSVE_PoweredByLogo_print");B.setAttributeNS(null,"x",6);B.setAttributeNS(null,"y",parseInt(this._printTopLayer.getAttribute("height"))-79);this._printLogo=B;this._printTopLayer.appendChild(B)}};Msn.Drawing.SVGGraphic.prototype.RepositionLogo=function(A,B){if(this._printable&&this._printLogo){this._printLogo.setAttributeNS(null,"y",parseInt(B)-79)}};Msn.Drawing.SvgLayer=function(E,D){var H=D,A=null,F=false,C=false;if(F==false){F=true;A=document.createElementNS("http://www.w3.org/2000/svg","svg");A.setAttribute("height","100%");A.setAttribute("width","100%");E.appendChild(A);this.lineDashStyles=[];var B=this.lineDashStyles;B[0]=["Solid","none"];B[1]=["ShortDash","6,2"];B[2]=["ShortDot","2,2"];B[3]=["ShortDashDot","6,2,2,2"];B[4]=["ShortDashDotDot","6,2,2,2,2,2"];B[5]=["Dot","2,6"];B[6]=["Dash","10,6"];B[7]=["LongDash","20,6"];B[8]=["DashDot","10,6,2,6"];B[9]=["LongDashDot","20,6,2,6"];B[10]=["LongDashDotDot","20,6,2,6,2,6"]}this.addShape=function(N){if(A==null){return }var I=null;if(N.type==VEShapeType.Pushpin){I=document.createElementNS("http://www.w3.org/2000/svg","rect");var J=LatLongtoRoundedPixel(H,N.points[1],N.points[0]);I.setAttribute("x",J.x-4);I.setAttribute("y",J.y-4);I.setAttribute("width","8pt");I.setAttribute("height","8pt");I.setAttribute("stroke-width",N.symbol.stroke_weight);I.setAttribute("stroke",N.symbol.stroke_color);I.setAttribute("fill",N.symbol.fill_color);A.appendChild(I)}else{if(N.type==VEShapeType.Polyline||N.type==VEShapeType.Polygon){var K=N.type==VEShapeType.Polygon?true:false;I=document.createElementNS("http://www.w3.org/2000/svg",K?"polygon":"polyline");I.setAttributeNS(null,"class","MSVE_Shape");I.setAttribute("points",GetSvgPath(H,N.points));I.setAttribute("stroke",N.symbol.stroke_color);I.setAttribute("stroke-width",N.symbol.stroke_weight);I.setAttribute("stroke-linejoin",N.symbol.stroke_joinstyle);I.setAttribute("stroke-opacity",G(N.symbol.stroke_opacity));var L=this.lineDashStyles;for(var M=0;M<L.length;M++){if(N.symbol.stroke_dashstyle==L[M][0]){I.setAttribute("stroke-dasharray",L[M][1])}}if(!K){I.setAttribute("fill","none")}else{I.setAttribute("fill-rule","evenodd");I.setAttribute("fill",N.symbol.fill_color);I.setAttribute("fill-opacity",G(N.symbol.fill_opacity))}}}if(I){I.setAttribute("id",N.id!=0?N.id:N.iid);A.appendChild(I)}return I};function G(I){var J=parseFloat(I);if(J==NaN){J=0.3}else{if(J>1){J/=100}else{if(J<0){J=0}}}return J}this.SetZIndex=function(I){if(!H.bShowSVG){return }H.GetsvgDiv().style.zIndex=I};this.UpdatePoints=function(J,I){if(J.type==VEShapeType.Polyline||J.type==VEShapeType.Polygon){I.setAttribute("points",GetSvgPath(H,J.points))}};this.UpdateStyle=function(I,L){if(A==null){return }if(I.type!=VEShapeType.Pushpin){L.setAttribute("stroke",I.symbol.stroke_color);L.setAttribute("stroke-width",I.symbol.stroke_weight);L.setAttribute("stroke-linejoin",I.symbol.stroke_joinstyle);L.setAttribute("stroke-opacity",G(I.symbol.stroke_opacity));var J=this.lineDashStyles;for(var K=0;K<J.length;K++){if(I.symbol.stroke_dashstyle==J[K][0]){L.setAttribute("stroke-dasharray",J[K][1])}}if(I.type==VEShapeType.Polyline){L.setAttribute("fill","none")}else{L.setAttribute("fill",I.symbol.fill_color);L.setAttribute("fill-opacity",G(I.symbol.fill_opacity))}}return I};this.CreatePrintLayer=function(J){var I=null;if(A){I=document.createElementNS("http://www.w3.org/2000/svg","g");I.setAttributeNS(null,"class",J);A.insertBefore(I,A.firstChild)}return I}};function GetSvgPath(D,I){if(!I){return null}var M=0,C=I.length,H=C/2,E=0,K=new Array(Math.max(128,Math.round(C/8))),L=null,B=0,A=0,G=0,F=0;while(M<H){G=I[M*2];F=I[M*2+1];if(M==H-1||M==0||VE_IsDisplayLatLon(D,B,A,G,F,H)){L=LatLongtoRoundedPixel(D,F,G);if(!L){return }var J="";if(M<H-1){J=J.concat(L.x,",",L.y,",")}else{J=J.concat(L.x,",",L.y)}if(E>=K.length){K.length+=Math.round(K.length/4)}K[E++]=J;B=G;A=F}M++}if(E>0){K.length=E}return K.join("")}function LatLongtoRoundedPixel(A,D,C){var E;if(typeof VEMap!="undefined"&&A instanceof VEMap){E=new VELatLong(D,C)}else{E=new Msn.VE.LatLong(D,C)}var B=A.LatLongToPixel(E,A.GetZoomLevel());if(!B){return null}B.x=MathRound(B.x);B.y=MathRound(B.y);return B}VE_LatLongThreshold={PixelDiff:8,DistDiff:0.5,OriginLat:0,OriginLon:0,LatDiff:0,LonDiff:0,UseThreshold:true,IsNotInit:true};function VE_SetLatLonThreshold(E,C,D){VE_LatLongThreshold.IsNotInit=false;if(C!=null&&D!=null){VE_LatLongThreshold.OriginLat=D;VE_LatLongThreshold.OriginLon=C}var B,A=LatLongtoRoundedPixel(E,VE_LatLongThreshold.OriginLat,VE_LatLongThreshold.OriginLon);if(A){B=E.PixelToLatLong(new VEPixel(A.x+VE_LatLongThreshold.PixelDiff,A.y+VE_LatLongThreshold.PixelDiff));VE_LatLongThreshold.LatDiff=Math.abs(B.latitude-VE_LatLongThreshold.OriginLat);VE_LatLongThreshold.LonDiff=Math.abs(B.longitude-VE_LatLongThreshold.OriginLon)}}function VE_IsDisplayLatLon(E,A,B,H,I){if(!VE_LatLongThreshold.UseThreshold){return true}var G=Math.abs(VE_LatLongThreshold.OriginLat-I),F=Math.abs(VE_LatLongThreshold.OriginLon-H);if(Math.max(G,F)>VE_LatLongThreshold.DistDiff||VE_LatLongThreshold.IsNotInit){VE_SetLatLonThreshold(E,H,I)}var D=Math.abs(I-B),C=Math.abs(H-A);if(D>VE_LatLongThreshold.LatDiff||C>VE_LatLongThreshold.LonDiff){return true}return false}function GetVmlPath(H,Q){var J=Q.points;if(!J){return null}var K=0,F=J.length,E=F/2,M=0,P=new Array(Math.max(128,Math.round(F/8)));P[M++]="m ";var A=MathRound(H.GetOffsetY()),B=MathRound(H.GetOffsetX()),L=null,D=0,C=0,O=0,N=0;if(F>=4){O=J[K*2];N=J[K*2+1];L=LatLongtoRoundedPixel(H,N,O);if(!L){return null}var I="";I=I.concat(L.x+B,",",L.y+A," l ");if(M>=P.length){P.length+=Math.round(P.length/4)}P[M++]=I;D=O;C=N;++K}var G=false;if(Q.type!=VEShapeType.Pushpin){if(Q.minX==null||Q.minY==null||Q.maxX==null||Q.maxY==null){G=false;Q.minX=360;Q.minY=360;Q.maxX=-360;Q.maxY=-360}else{G=true}}while(K<E){O=J[K*2];N=J[K*2+1];if(!G){Q.minX=Math.min(Q.minX,O);Q.minY=Math.min(Q.minY,N);Q.maxX=Math.max(Q.maxX,O);Q.maxY=Math.max(Q.maxY,N)}if(VE_IsDisplayLatLon(H,D,C,O,N,E)||K==E-1){L=LatLongtoRoundedPixel(H,N,O);if(!L){return null}var I="";I=I.concat(L.x+B,",",L.y+A," ");if(M>=P.length){P.length+=Math.round(P.length/4)}P[M++]=I;D=O;C=N}++K}if(M>=P.length){P.length+=1}P[M++]=" e";if(M>0){P.length=M}return P.join("")}function GetCurrentMapViewBounds(P){var C=P.GetCenterLongitude(),B=P.GetCenterLatitude(),Q=P.LatLongToPixel(new Msn.VE.LatLong(B,C)),J=P.GetMapWidth(),K=P.GetMapHeight();if(!Q||isNaN(Q.x)||isNaN(Q.y)){return new Msn.VE.Bounds(0,0,-Infinity,-Infinity,Infinity,Infinity)}var F,D,G,E,H=false,A=P.GetMapStyle(),O=P.PixelToLatLong(new VEPixel(Q.x-J/2,Q.y+K/2)),N=P.PixelToLatLong(new VEPixel(Q.x+J/2,Q.y-K/2));if(Msn.VE.MapStyle.IsViewOblique(A)){var M=P.PixelToLatLong(new VEPixel(Q.x-J/2,Q.y-K/2)),L=P.PixelToLatLong(new VEPixel(Q.x+J/2,Q.y+K/2));if(O!=null&&N!=null&&M!=null&&L!=null){F=Math.min(O.longitude,N.longitude,M.longitude,L.longitude);D=Math.min(O.latitude,N.latitude,M.latitude,L.latitude);G=Math.max(O.longitude,N.longitude,M.longitude,L.longitude);E=Math.max(O.latitude,N.latitude,M.latitude,L.latitude)}else{H=true}}else{if(O!=null&&N!=null){F=Math.min(O.longitude,N.longitude);D=Math.min(O.latitude,N.latitude);G=Math.max(O.longitude,N.longitude);E=Math.max(O.latitude,N.latitude)}else{H=true}}var I=null;if(H){I=new Msn.VE.Bounds(0,0,-Infinity,-Infinity,Infinity,Infinity)}else{I=new Msn.VE.Bounds(0,0,F,D,G,E)}return I}function GetBufferedMapViewBounds(A,B){var E=null,C=Math.abs(B.x2-B.x1),D=Math.abs(B.y2-B.y1);E=new Msn.VE.Bounds(0,0,B.x1-A*C,B.y1-A*D,B.x2+A*C,B.y2+A*D);return E}function IsContainedInView(B,A){var C=false;if(A.x1>B.x1&&A.y1>B.y1&&A.x2<B.x2&&A.y2<B.y2){C=true}return C}Msn.Drawing.ComputeBoundingBox=function(B){if(typeof B=="undefined"||B==null||B.length==0){return null}var G=[],D=Infinity,C=Infinity,F=-Infinity,E=-Infinity;for(var A=0;A<B.length;A=A+2){D=Math.min(D,B[A]);C=Math.min(C,B[A+1]);F=Math.max(F,B[A]);E=Math.max(E,B[A+1])}G[0]=D;G[1]=C;G[2]=F;G[3]=E;return G};function IsBoundsIntersect(B,A){if(B==null){return true}if(A==null){return true}if(B.x2<A.x1||B.x1>A.x2||B.y2<A.y1||B.y1>A.y2){return false}return true}function IsDisplayShape(G,H,F,D,E,C){if(H==0){return true}if(F==E&&D==C){return true}var B=null,A=null;B=G.LatLongToPixel(new Msn.VE.LatLong(D,F));A=G.LatLongToPixel(new Msn.VE.LatLong(C,E));if(B==null||A==null){return true}if(Math.abs(A.y-B.y)>H||Math.abs(A.x-B.x)>H){return true}else{return false}}function IsRecIntersect(H,G,B,A,D,C,F,E){if(B<D||H>F||A<C||G>E){return false}return true}function wrapVmlElementInDiv(B){var C=Msn.VE.Css.Functions.getComputedStyle,A=document.createElement("div");A.className="VmlContainer";A.style.left=C(B,"left");A.style.top=C(B,"top");A.style.width=C(B,"width");A.style.height=C(B,"height");B.style.position="relative";B.style.left="0px";B.style.top="0px";B.style.width="100%";B.style.height="100%";A.appendChild(B);return A}function VEColorToHexString(C,A,B){return"#"+(C<16?"0":"")+Number(C).toString(16)+(A<16?"0":"")+Number(A).toString(16)+(B<16?"0":"")+Number(B).toString(16)}function VEHexStringToColor(){this.Convert=function(a){a=a.toUpperCase();var b=hTov(a.substring(0,1)),c=hTov(a.substring(1,2)),d=hTov(a.substring(2,3)),e=hTov(a.substring(3,4)),f=hTov(a.substring(4,5)),g=hTov(a.substring(5,6)),h=b*16+c,i=d*16+e,j=f*16+g;return new VEColor(h,i,j,1)};function hTov(h){var v=0;if(h=="A"){v=10}else{if(h=="B"){v=11}else{if(h=="C"){v=12}else{if(h=="D"){v=13}else{if(h=="E"){v=14}else{if(h=="F"){v=15}else{v=eval(h)}}}}}}return v}}_VERegisterNamespaces("Msn.VE");$MVEM=new function(){this.IsEnabled=function(A){if(A==undefined){throw new VEException("$MVEM.IsEnabled","err_invalidfeature","Specified feature is invalid.")}return A}};function VEException(A,C,B){this.source=A;this.name=C;this.message=B}VEException.prototype.Name=this.name;VEException.prototype.Source=this.source;VEException.prototype.Message=this.message;function pseudoHover(B){if(!document.all){return }var C=function(){B.className+=" ms_pseudoHover"},D=function(){B.className=B.className.replace(/\s*ms_pseudoHover/g,"")};B.attachEvent("onmouseenter",C);B.attachEvent("onmouseleave",D);window.attachEvent("onunload",A);function A(){B.detachEvent("onmouseenter",C);B.detachEvent("onmouseleave",D);window.detachEvent("onunload",A)}}function pseudoHoverForChildren(C,B){if(!document.all){return }if(!B){B="LI"}var D=C.getElementsByTagName(B);for(var A=0;A<D.length;A++){this.pseudoHover(D[A])}}function pseudoHoverRemove(A){if(!document.all){return }A.className=A.className.replace(/\s*ms_pseudoHover/g,"")}_VERegisterNamespaces("Msn.VE.Css");Msn.VE.CurrentDomain=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null?Msn.VE.API.Globals.vecurrentdomain:".";Msn.VE.Css={Cursors:{Auto:"auto",Default:"default",Crosshair:"crosshair",Pointer:"pointer",Move:"move",Wait:"wait",Text:"text",Help:"help",NResize:"n-resize",NEResize:"ne-resize",NWResize:"nw-resize",SResize:"s-resize",SEResize:"se-resize",SWResize:"sw-resize",EResize:"e-resize",WResize:"w-resize",CustomCursors:null,defineCustomCursors:function(D){Msn.VE.Css.Cursors.CustomCursors=D;var A,C=D.length;for(A=0;A<C;A++){var B=D[A];if(navigator.userAgent.indexOf(" Safari/")>-1){Msn.VE.Css.Cursors[B.name]=B.fallback}else{Msn.VE.Css.Cursors[B.name]='url("'+B.domain+B.path+'"), '+B.fallback}}}},RegEx:{RectClip:/rect\((auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\s*,*\s*(auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\s*,*\s*(auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\s*,*\s*(auto|\d+px|\d*\.*\d+em|\d*\.*\d+pt)\)/},Functions:{addClass:function(A){this.alterClass(A,arguments,true)},removeClass:function(A){this.alterClass(A,arguments,false)},alterClass:function(B,F,D){var H,C=F.length;for(H=1;H<C;H++){var G=F[H],G=F[H].replace(/^\s*/,"").replace(/\s*$/,"");if(G.indexOf(" ")!=-1){continue}var E=new RegExp("(^| )"+G+"( |$)","i");if(D){if(!E.test(B.className)){if(B.className==""){B.className=G}else{B.className+=" "+G}}}else{var A=B.className;A=A.replace(E,"$1");A=A.replace(/ $/,"");B.className=A}}},getComputedStyle:function(A,C){var B=null;if(document.defaultView&&document.defaultView.getComputedStyle&&typeof document.defaultView.getComputedStyle!="undefined"){B=document.defaultView.getComputedStyle(A,null)}else{B=A.currentStyle}return B[C]},setClip:function(F,E,D){var A=Msn.VE.Css.Functions.getClip(F,0),C=Msn.VE.Css.RegEx.RectClip,B=C.exec(A);B[E]=D;if(E==0){F.style.clip=B[0]}else{B[E]=D;B.shift();A="rect("+B.join(" ")+")";F.style.clip=A}},getClip:function(E,D){var A=E.style.clip;if(A==""){var A=(window.opera?"auto":Msn.VE.Css.Functions.getComputedStyle(E,"clip"))||"auto";if(A=="auto"){A="rect(auto auto auto auto)"}else{if(typeof A=="undefined"||A==null){var F=E.currentStyle;if(typeof F!="undefined"&&F!=null){A="rect("+F.clipTop+" "+F.clipRight+" "+F.clipBottom+" "+F.clipLeft+")"}}}}var C=Msn.VE.Css.RegEx.RectClip,B=C.exec(A);if(D==0){return B[0]}B[1]=B[1]=="auto"?0:B[1];B[4]=B[4]=="auto"?0:B[4];B[2]=B[2]=="auto"?E.offsetWidth:B[2];B[3]=B[3]=="auto"?E.offsetHeight:B[3];if(D==5){return B}else{return B[D]}}}};_VERegisterNamespaces("Msn.VE");Msn.VE.OSType={Windows:1,Windows95:2,Windows98:3,WindowsMillenium:4,WindowsNT:5,WindowsNT4:6,Windows2000:7,Windows2000SP1:8,WindowsXP:9,WindowsXPSP2:10,WindowsServer2003:11,WindowsServer2003SP1:12,WindowsVista:13,MacOS:30,MacOS9:31,MacOSX:32,Linux:40,Unknown:100};Msn.VE.CLRType={CLR10:1,CLR11:2,CLR20:4,CLR30:8};Msn.VE.BrowserType={Firefox:1,MSIE:2,Opera:3,Unknown:10};Msn.VE.BrowserCaps={VML:1,SVG:2,WindowlessSelectElement:4,RightMouseButton:8,AddFavourite:16,VectorCapable:3};Msn.VE.BrowserInfo=function(){var K=this;this.Type=null;this.BrowserCaps=0;this.CLRType=0;this.MajorVersion=null;this.MinorVersion=null;this.versionString=null;this.UserAgent=null;this.OSType=null;this.Locale=null;if(arguments.length==0){this.UserAgent=window.navigator.userAgent;this.currentBrowser=true}else{this.UserAgent=arguments[0];this.currentBrowser=false;if(arguments.length>=2){this.Locale=arguments[1]}}this.IsCompatibleWith=function(N){for(var L=0;L<N.length;L++){var M=N[L];if(M.Type==this.Type&&(this.MajorVersion>M.MajorVersion||M.MajorVersion==this.MajorVersion&&M.MinorVersion>=this.MinorVersion)){return true}}return false};function J(){if(K.UserAgent.indexOf("Mac")==-1&&(K.UserAgent.indexOf("Gecko")!=-1||K.UserAgent.indexOf("MSIE")!=-1)){K.BrowserCaps|=Msn.VE.BrowserCaps.RightMouseButton}}function I(){if(K.UserAgent.indexOf("MSIE 7")!=-1||K.UserAgent.indexOf("MSIE 8")!=-1||K.UserAgent.indexOf("Gecko")!=-1){K.BrowserCaps|=Msn.VE.BrowserCaps.WindowlessSelectElement}}function B(){if(K.UserAgent.indexOf("Mac")==-1&&(K.UserAgent.indexOf("MSIE 5")!=-1||K.UserAgent.indexOf("MSIE 6")!=-1||K.UserAgent.indexOf("MSIE 7")!=-1||K.UserAgent.indexOf("MSIE 8")!=-1)){K.BrowserCaps|=Msn.VE.BrowserCaps.VML}}function C(){if(K.UserAgent.indexOf("MSIE")==-1){var O=0,N=0,M=new RegExp("Firefox/(.*)"),P=M.exec(K.UserAgent);if(P&&P.length>=2){var L=P[1].split(".");if(L){O=L[0];N=L[1];if(parseInt(O)>0&&parseInt(N)>=5){K.BrowserCaps|=Msn.VE.BrowserCaps.SVG}}}}}function D(){try{if(K.UserAgent.indexOf("MSIE")!=-1){K.BrowserCaps|=Msn.VE.BrowserCaps.AddFavourite}}catch(L){}}this.GetVersionString=function(){if(this.versionString==null){if(K.UserAgent.indexOf("Win")!=-1&&K.UserAgent.indexOf("MSIE")!=-1){var L=null,N;try{L=document.createElement("<DIV STYLE='behavior:url(#default#clientCaps); display: none' ID='__clientCaps'>");document.body.appendChild(L);N=L.getComponentVersion("{89820200-ECBD-11CF-8B85-00AA005B4383}","componentid")}catch(M){N=K.MajorVersion+"."+K.MinorVersion}finally{if($ID("__clientCaps")!=null){$ID("__clientCaps").parentNode.removeChild(L)}}this.versionString=N}else{if(K.MajorVersion!=null&&K.MajorVersion!=null){this.versionString=K.MajorVersion+"."+K.MinorVersion}else{this.versionString=""}}}return this.versionString};function G(){if(K.UserAgent.indexOf("MSIE")!=-1){var M=new RegExp("MSIE ([0-9]).([0-9])"),L=M.exec(K.UserAgent);if(L!=null){K.MajorVersion=parseInt(L[1]);K.MinorVersion=parseInt(L[2]);return }}else{if(K.UserAgent.indexOf("Firefox")!=-1){var M=new RegExp("Firefox/([0-9]).([0-9])(.*)"),L=M.exec(K.UserAgent);if(L!=null){K.MajorVersion=parseInt(L[1]);K.MinorVersion=parseInt(L[2]);return }}else{if(K.UserAgent.indexOf("Opera")!=-1){var M=new RegExp("Opera/([0-9]{1,2}).([0-9])"),L=M.exec(K.UserAgent);if(L!=null){K.MajorVersion=parseInt(L[1]);K.MinorVersion=parseInt(L[2]);return }}}}K.MajorVersion=null;K.MinorVersion=null}function E(){if(K.UserAgent.indexOf("Mac OS X")!=-1){K.OSType=Msn.VE.OSType.MacOSX}else{if(K.UserAgent.indexOf("Mac")!=-1){K.OSType=Msn.VE.OSType.MacOS}else{if(K.UserAgent.indexOf("Linux")!=-1){K.OSType=Msn.VE.OSType.Linux}else{if(K.UserAgent.indexOf("Win95")!=-1||K.UserAgent.indexOf("Windows 95")!=-1){K.OSType=Msn.VE.OSType.Windows95}else{if(K.UserAgent.indexOf("Win98")!=-1||K.UserAgent.indexOf("Windows 98")!=-1){K.OSType=Msn.VE.OSType.Windows98}else{if(K.UserAgent.indexOf("Win 9x 4.90")!=-1){K.OSType=Msn.VE.OSType.WindowsMillenium}else{if(K.UserAgent.indexOf("Windows NT 4.0")!=-1){K.OSType=Msn.VE.OSType.WindowsNT4}else{if(K.UserAgent.indexOf("Windows NT 5.01")!=-1){K.OSType=Msn.VE.OSType.Windows2000SP1}else{if(K.UserAgent.indexOf("Windows NT 5.0")!=-1){K.OSType=Msn.VE.OSType.Windows2000}else{if(K.UserAgent.indexOf("Windows NT 5.1")!=-1&&K.UserAgent.indexOf("SV1")!=-1){K.OSType=Msn.VE.OSType.WindowsXPSP2}else{if(K.UserAgent.indexOf("Windows NT 5.1")!=-1){K.OSType=Msn.VE.OSType.WindowsXP}else{if(K.UserAgent.indexOf("Windows NT 5.2")!=-1&&K.UserAgent.indexOf("SV1")!=-1){K.OSType=Msn.VE.OSType.WindowsServer2003SP1}else{if(K.UserAgent.indexOf("Windows NT 5.2")!=-1){K.OSType=Msn.VE.OSType.WindowsServer2003}else{if(K.UserAgent.indexOf("Windows NT 6.0")!=-1){K.OSType=Msn.VE.OSType.WindowsVista}else{if(K.UserAgent.indexOf("Windows NT")!=-1){K.OSType=Msn.VE.OSType.WindowsNT}else{if(K.UserAgent.indexOf("Win")!=-1){K.OSType=Msn.VE.OSType.Windows}else{K.OSType=Msn.VE.OSType.Unknown}}}}}}}}}}}}}}}}}function H(){if(K.UserAgent.indexOf(".NET CLR 1.0")!=-1){K.CLRType|=Msn.VE.CLRType.CLR10}if(K.UserAgent.indexOf(".NET CLR 1.1")!=-1){K.CLRType|=Msn.VE.CLRType.CLR11}if(K.UserAgent.indexOf(".NET CLR 2.0")!=-1){K.CLRType|=Msn.VE.CLRType.CLR20}if(K.UserAgent.indexOf(".NET CLR 3.0")!=-1){K.CLRType|=Msn.VE.CLRType.CLR30}}function F(){if(K.Locale!=null){return }K.Locale="en-US";if(K.UserAgent.indexOf("MSIE")!=-1){if(navigator.browserLanguage){K.Locale=navigator.browserLanguage}if(navigator.userLanguage){K.Locale=navigator.userLanguage}if(navigator.systemLanguage){K.Locale=navigator.systemLanguage}}else{if(K.UserAgent.indexOf("Gecko")!=-1){var M=new RegExp("; (.*); rv:"),L=M.exec(K.UserAgent);if(L&&L.length>=2){K.Locale=L[1].substring(L[1].lastIndexOf(" "),L[1].length+1)}}else{if(K.UserAgent.indexOf("Opera")!=-1){var M=new RegExp(" (.*)\\)"),L=M.exec(K.UserAgent);if(L&&L.length>=2){K.Locale=L[1].substring(L[1].lastIndexOf(" "),L[1].length+1)}}}}}function A(){if(K.UserAgent.indexOf("Gecko")!=-1){K.Type=Msn.VE.BrowserType.Firefox}else{if(K.UserAgent.indexOf("MSIE")!=-1){K.Type=Msn.VE.BrowserType.MSIE}else{if(K.UserAgent.indexOf("Opera")!=-1){K.Type=Msn.VE.BrowserType.Opera}else{K.Type=Msn.VE.BrowserType.Unknown}}}G();E();H();F();D();C();B();I();J()}A()};Msn.VE.Environment=function(){};Msn.VE.Environment.Redirect=function(A){window.location.href=A};Msn.VE.Environment.BrowserInfo=new Msn.VE.BrowserInfo;Msn.VE.Environment.IsFF20=function(){var B=Msn.VE.Environment.BrowserInfo;if(B.Type==Msn.VE.BrowserType.Firefox){var A=B.MajorVersion;if(A>=2){return true}}return false};Msn.VE.Environment.IsIE50=function(){var B=Msn.VE.Environment.BrowserInfo;if(B.Type==Msn.VE.BrowserType.MSIE){var A=B.MajorVersion;if(A>=5){return true}}return false};Msn.VE.Environment.IsIE80=function(){var B=Msn.VE.Environment.BrowserInfo;if(B.Type==Msn.VE.BrowserType.MSIE){var A=B.MajorVersion;if(A>=8){return true}}return false};_VERegisterNamespaces("Msn.VE");Msn.VE.PushPinTypes={Default:0,SearchResultPrecise:1,Annotation:2,Direction:3,DirectionTemp:4,TrafficLight:5,TrafficOthers:6,YouAreHere:7,AdStandard:8,AdWide:9,AdCategory:10,AdRoofStandard:11,AdRoofWide:12,AdSponsor:13,DirectionStep:14,Context:15,SearchResultNonprecise:16,Collection:17,Overlay:18};Msn.VE.MapActionMode={ModeUnknown:0,Mode2D:1,Mode3D:2,ModeOblique:3};Msn.VE.BirdsEyeSearchSpinDirection={ClockwiseSpin:-1,NoSpin:0,CounterclockwiseSpin:1};Msn.VE.LineJoinMode={Straight:"miter",Round:"round"};Msn.VE.Css.Cursors.defineCustomCursors([{name:"Grab",domain:".",path:"/cursors/grab.cur",fallback:"move"},{name:"Grabbing",domain:".",path:"/cursors/grabbing.cur",fallback:"move"},{name:"Target",domain:".",path:"/cursors/target.cur",fallback:"crosshair"}]);Msn.VE.MapControl=function(p_elSource,p_htParams,p_parentAPIControl){var offsetMeters=20971520,baseMetersPerPixel=163840,buffer=0,maxTilePixelBuffer=768,animatedMovementEnabled=true,zoomTotalSteps=6,keyboardPanSpeed=15,panToLatLongSpeed=15,earthRadius=6378137,earthCircumference=earthRadius*2*Math.PI,projectionOffset=earthCircumference*0.5,minZoom=1,maxZoom=19,emptyTile="http://virtualearth.msn.com/i/spacer.gif",minLatitude=-85,maxLatitude=85,minLongitude=-180,maxLongitude=180,tileSize=256,generations={},zoomLevelToAdjustObliqueToOrthro=18,kbInputZIndex=0,containerZIndex=0,mapZIndex=1,swapZIndex=1,baseZIndex=2,debugZIndex=3,baseZIndex=11,topZIndex=20,p_this=this,m_clientToken=null,cssCursors=Msn.VE.Css.Cursors,cssFn=Msn.VE.Css.Functions,roadStyle=Msn.VE.MapStyle.Road,shadedStyle=Msn.VE.MapStyle.Shaded,hybridStyle=Msn.VE.MapStyle.Hybrid,aerialStyle=Msn.VE.MapStyle.Aerial,obliqueStyle=Msn.VE.MapStyle.Oblique,obliqueHybridStyle=Msn.VE.MapStyle.ObliqueHybrid;generations[roadStyle]=452;generations[aerialStyle]=452;generations[hybridStyle]=452;generations[obliqueStyle]=452;generations[obliqueHybridStyle]=452;var mapTiles="Road",trafficTiles="Traffic",marketMaxZoom=1,currentScaleBarUnit=null,currentView=new Msn.VE.MapView(p_this),preferredView=new Msn.VE.MapView(p_this),previousZoomLevel=1,previousCenter=null,lastViewChangeType=null,previousMapStyle=null,lastOrthoZoomLevel=15,lastOrthoMapStyle=roadStyle,x=0,y=0,width=0,height=0,trafficAvailable=false,tileLayerManager=new VETileLayerManager,originX=0,originY=0,offsetX=0,offsetY=0,tileViewportX1=0,tileViewportY1=0,tileViewportX2=0,tileViewportY2=0,tileViewportWidth=0,tileViewportHeight=0,dragging=false,keyboardPan=false,lastMouseX=0,lastMouseY=0,zooming=false,zoomCounter=0,panning=false,panCounter=0,panningX=0,panningY=0,panLatitude=null,panLongitude=null,pushpins=[],lines=[],map=document.createElement("div"),keyboard=document.createElement("input");keyboard.id="wl_ve_mapInput";var logo=null,scaleBar=null,mapLegend=null,copyright=null;this.UpdateCopyright=function(){if(copyright){copyright.Update()}};var dashboardContainer=null,dashboard=null,minimapControl=null,minimapContainer=null,mouseZoomDisabled=false,mousewheelZoomToCenter=true,isMinimap=false,boxTool=null,panTool=null,targetTool=null,currentTool=null,orthoMode=null,obliqueMode=null,threeDMode=null,currentMode=null,previousMode=null,Initialized2D=false,currentBounds=null,defaultEventTable=[],customEventTable=[],debug=false,graphicCanvas=null,svgLayer=null,svgDiv=null,bShowSVG=true;this.GetsvgDiv=function(){return svgDiv};var mapCenterOffset=new VEPixel(0,0),resizeInProgress=false,loadBaseTiles=true,view3DCreated=false,spacecontrol=false,spacediv=null,spaceCameraIsFlying=false,init3dparam=null,resizeTimer=null,traffic3dAdded=false,initial3dView=null,cameraUpdateCount=0,photoplugin3dActive=false;this.Is3DPhotoPluginActive=function(){return photoplugin3dActive};this.Set3DPhotoPluginActive=function(a){photoplugin3dActive=a};function SetChildDiv(a){map.appendChild(a)}function EnableGeoCommunity(a){hijackMouseMove=a}function IsGeoCommunityEnabled(){return hijackMouseMove}function HijackMouseCursor(a){hijackMouseCursor=a}function IsHijackMouseCursor(){return hijackMouseCursor}function GetOffsetX(){return offsetX}function GetOffsetY(){return offsetY}function GetOriginY(){return originY}function GetOriginX(){return originX}this.Init=function(){orthoMode=new OrthoMode;orthoMode.Init();if(p_htParams.obliqueEnabled){obliqueMode=new ObliqueMode;obliqueMode.SetGUID(p_htParams.mapGUID);obliqueMode.Init(p_htParams.obliqueUrl?p_htParams.obliqueUrl:"%0dev.virtualearth.net/services/v1/ImageryMetadataService/ImageryMetadataService.asmx")}if(p_htParams.clientToken){this.SetClientToken(p_htParams.clientToken)}threeDMode=new ThreeDMode;threeDMode.Init();UpdateFromParent();map.className="MSVE_Map";map.style.zIndex=mapZIndex;p_elSource.appendChild(map);cssFn.addClass(p_elSource,"MSVE_MapContainer");keyboard.className="MSVE_KeyboardInput";if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null&&Web.Browser.isSafari()){keyboard.style.top=0;keyboard.style.left=0;keyboard.style.border=0;if(Web.Browser.isSafari2()){keyboard.style.height=0;keyboard.style.width=0}else{if(Web.Browser.isSafari3()){keyboard.style.outlineWidth=0;keyboard.style.color="transparent";keyboard.style.backgroundColor="transparent"}}}p_elSource.appendChild(keyboard);if(!p_htParams.fixedView){p_elSource.attachEvent("onmousedown",MouseDown);p_elSource.attachEvent("onmouseup",MouseUp);p_elSource.attachEvent("onmousemove",MouseMove);p_elSource.attachEvent("ondblclick",MouseDoubleClick);p_elSource.attachEvent("oncontextmenu",ContextMenu);p_elSource.attachEvent("onclick",MouseClick);p_elSource.attachEvent("onmouseout",MouseOut);p_elSource.attachEvent("onmouseover",MouseOver);p_elSource.attachEvent("onmouseenter",MouseEnter);p_elSource.attachEvent("onmouseleave",MouseLeave)}if(p_htParams.buffer!=undefined&&p_htParams.buffer!=null){SetTilePixelBuffer(p_htParams.buffer)}var startIn3DMode=false;loadBaseTiles=typeof p_htParams.loadBaseTiles=="undefined"||p_htParams.loadBaseTiles!=false;if(p_htParams.mapMode!="undefined"&&p_htParams.mapMode!=null&&p_htParams.mapMode==Msn.VE.MapActionMode.Mode3D||p_htParams.altitude&&p_htParams.altitude>-1000||p_htParams.tilt&&p_htParams.tilt!=-90||p_htParams.direction&&p_htParams.direction!=0){SetBaseTileSource();startIn3DMode=true;currentMode=threeDMode}init3dparam=p_htParams.mapGUID;if((p_htParams.latitude!=null&&typeof p_htParams.latitude!="undefined"&&p_htParams.longitude!=null&&typeof p_htParams.longitude!="undefined"&&p_htParams.zoomlevel!=null&&typeof p_htParams.zoomlevel!="undefined"||p_htParams.boundingBox!=null&&typeof p_htParams.boundingBox!="undefined")&&p_htParams.mapstyle!=null&&typeof p_htParams.mapstyle!="undefined"){try{var initialView=new Msn.VE.MapView(p_this);initialView.SetMapStyle(ValidateMapStyle(p_htParams.mapstyle),p_htParams.obliqueSceneId,p_htParams.birdseyeOrientation);if(startIn3DMode){initialView.sceneId=p_htParams.obliqueSceneId;initialView.photoX=p_htParams.photoX;initialView.photoY=p_htParams.photoY;initialView.photoScale=p_htParams.photoScale}if(p_htParams.boundingBox){var bb=p_htParams.boundingBox;if(bb.northwest){bb.northwest.latitude=ClipLatitude(bb.northwest.latitude);bb.northwest.longitude=ClipLongitude(bb.northwest.longitude)}if(bb.southeast){bb.southeast.latitude=ClipLatitude(bb.southeast.latitude);bb.southeast.longitude=ClipLongitude(bb.southeast.longitude)}initialView.SetLatLongRectangle(bb);if(startIn3DMode){initialView.Resolve(orthoMode,width,height)}}else{initialView.SetZoomLevel(eval(p_htParams.zoomlevel));initialView.SetCenterLatLong(new Msn.VE.LatLong(eval(p_htParams.latitude),eval(p_htParams.longitude)))}if(p_htParams.altitude){initialView.SetAltitude(p_htParams.altitude)}if(p_htParams.tilt){initialView.SetTilt(p_htParams.tilt)}if(p_htParams.direction){initialView.SetDirection(p_htParams.direction)}if(p_htParams.cameraPos){initialView.cameraLatlong=new Msn.VE.LatLong(eval(p_htParams.cameraPos[0]),eval(p_htParams.cameraPos[1]));initialView._needsPivotOperation=false}if(!startIn3DMode){SetBaseTileSource()}currentView=initialView}catch(a){if(!startIn3DMode){SetDefaultView()}else{currentView=initialView}}}else{if(!startIn3DMode){SetDefaultView()}else{currentView=initialView}}if(startIn3DMode){this.Init3DOnly()}else{this.Init2DOnly()}if(typeof p_htParams.hideCopyright=="undefined"||!p_htParams.hideCopyright){copyright=new Copyright(p_elSource);copyright.Init();copyright.Update();if(scaleBar){copyright.PinTo(scaleBar)}if(mapLegend){mapLegend.PinTo(copyright)}}if(typeof p_htParams.showMinimap!="undefined"&&p_htParams.showMinimap){var loadMinimapNow=false;if(obliqueMode!=null&&Msn.VE.MapStyle.IsViewOblique(p_htParams.mapstyle)){loadMinimapNow=true}CreateMinimap(null,null,null,loadMinimapNow,null,p_htParams.minimapVersion,p_htParams.clientToken)}if(p_htParams.showDashboard){if(p_htParams.showMapModeSwitch!=false){p_htParams.showMapModeSwitch=true}CreateDashboard(p_htParams.dashboardX,p_htParams.dashboardY,p_htParams.dashboardSize,p_htParams.dashboardId,p_htParams.showMapModeSwitch,p_htParams.obliqueEnabled,p_htParams.labelsDefault,p_htParams.dashboardVersion)}if(p_htParams.showMapLegend){this.CreateLegend()}if(startIn3DMode){copyright.Hide()}};AttachEvent("onstartmapstyleoblique",function(){if(targetTool){targetTool.trackMovement()}});AttachEvent("onendmapstyleoblique",function(){if(targetTool){targetTool.ignoreMovement()}});AttachEvent("onchangeview",OnChangeView);this.Init2DOnly=function(a){mvcViewFacade.OnSwitchToFlatlandView();currentView.doRoadShading=typeof p_htParams.doRoadShading!="undefined"&&p_htParams.doRoadShading==true;if(!p_htParams.fixedView){boxTool=new BoxTool;boxTool.Init();panTool=new PanTool;panTool.Init();currentTool=panTool;keyboard.attachEvent("onkeydown",KeyDown);keyboard.attachEvent("onkeyup",KeyUp);keyboard.attachEvent("onblur",StopKeyboardPan);p_elSource.attachEvent("onmousewheel",MouseWheel)}targetTool=new TargetTool;targetTool.init();if(!p_htParams.disableLogo){logo=new Logo(p_elSource);logo.Init()}if(typeof copyright!="undefined"&&copyright!=null){copyright.Show()}if(obliqueMode&&currentMode!=obliqueMode){obliqueMode.UpdateAvailability()}graphicCanvas=GetGraphic(this);tileLayerManager.Active=true;if(currentView==null){SetDefaultView()}else{if(a==true||!Initialized2D){SetView(currentView);Initialized2D=true}SetView(null)}if(p_htParams.showScaleBar){InitScaleBar();scaleBar.Show()}Fire("oninitmode",Msn.VE.MapActionMode.Mode2D)};function InitScaleBar(){scaleBar=new ScaleBar(p_elSource);scaleBar.Init();if(currentScaleBarUnit){SetScaleBarDistanceUnit(currentScaleBarUnit)}if(copyright){copyright.PinTo(scaleBar)}AttachEvent("onendzoom",scaleBar.Update);AttachEvent("onendpan",scaleBar.Update);AttachEvent("onobliquechange",scaleBar.Update);AttachEvent("onchangemapstyle",scaleBar.Update);AttachEvent("onresize",scaleBar.Reposition)}this.Init3DOnly=function(){if(typeof LoadMapDrawing=="function"){LoadMapDrawing(null)}if(dashboard){if(window.navigator.userAgent.indexOf("Firefox")<0){var d=dashboard.GetShimmedElements(),c;for(c=0;c<d.length;c++){UpdateIFrameShim(d[c])}}}var b;try{if(currentView==null){b=SetDefaultView()}else{var a=currentView.MakeCopy();if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){a.SetMapStyle(lastOrthoMapStyle);a.SetZoomLevel(a.GetZoomLevel()+zoomLevelToAdjustObliqueToOrthro)}a.SetCenterLatLong(new Msn.VE.LatLong(currentView.latlong.latitude,currentView.latlong.longitude));a.cameraLatlong=currentView.cameraLatlong;b=SetView(a)}}catch(e){b=false}if(!b){this._Disable3DMode(true);return }if(!view3DCreated){return }mvcViewFacade.OnSwitchToView3D(spacecontrol);if(p_htParams.showDashboard){spacecontrol.ShowNavigationControl=true}if(typeof p_htParams.hideCopyright=="undefined"||!p_htParams.hideCopyright){spacecontrol.ShowCopyright=true}if(typeof copyright!="undefined"&&copyright!=null){copyright.Hide()}if(p_htParams.showScaleBar){spacecontrol.ShowScale=true}if(currentScaleBarUnit&&p_htParams.showScaleBar||Msn.VE.API){this.SetScaleBarDistanceUnit(currentScaleBarUnit)}if((typeof Msn.VE.API=="undefined"||!Msn.VE.API)&&window.locale){spacecontrol.DisplayMetricUnits=MapControl.Features.ScaleBarKilometers}if(mapLegend){mapLegend.UpdateShim()}spacecontrol.AttachEvent("OnHardwareCapabilitiesUpdate","OnHardwareCapabilitiesUpdate");if(spacecontrol.HardwareClassificationLevel>0){this.Setup3DManifests()}tileLayerManager.AddAllTileSourcesTo3D(spacecontrol);AttachEvent("onchangetraffic",OnView3DScaleBarPositionUpdate);AttachEvent("onchangemapstyle",OnChangeMapStyle3D);spacecontrol.AttachEvent("OnCameraChanged","OnView3DUpdateViewpoint");spacecontrol.AttachEvent("OnBeginCameraChange","OnBeginFlyTo");if(!p_htParams.fixedView){spacecontrol.AttachEvent("OnHover","OnView3DPushpinHover");spacecontrol.AttachEvent("OnHoverEnd","OnView3DHoverEnd");spacecontrol.AttachEvent("OnDropGeometry","OnView3DDropGeometry");spacecontrol.AttachEvent("OnLatLonAltClicked","OnView3DLatLonAltClicked");spacecontrol.AttachEvent("OnMouseDown","OnMouseDown3D");spacecontrol.AttachEvent("OnMouseUp","OnMouseUp3D");spacecontrol.AttachEvent("OnClick","OnClick3D");spacecontrol.AttachEvent("OnMouseOver","OnMouseOver3D");spacecontrol.AttachEvent("OnMouseOut","OnMouseOut3D");spacecontrol.AttachEvent("OnDoubleClick","OnDoubleClick3D");spacecontrol.AttachEvent("OnModelViewSuccess","UniqueModelViewSuccess");spacecontrol.AttachEvent("OnModelViewFailure","UniqueModelViewFailure");spacecontrol.AttachEvent("OnModelFullyDownloaded","UniqueModelFullyDownloaded")}else{spacecontrol.FixedView=true}traffic3dAdded=false;if(typeof VE_TrafficManager!="undefined"&&VE_TrafficManager!=null){VE_TrafficManager.GetTrafficInfo(false)}OnView3DScaleBarPositionUpdate();if(typeof VE_BrandExplorationManager!="undefined"&&VE_BrandExplorationManager!=null){VE_BrandExplorationManager.Clear()}LoadStreetLevelGeometry(spacecontrol);LoadHiResModelsPlugin(spacecontrol);LoadWeatherPlugin(spacecontrol);if(!init3dparam){Relay3DPushpins()}Fire("oninitmode",Msn.VE.MapActionMode.Mode3D)};this.Setup3DManifests=function(){var c=currentView.mapStyle,a="http://go.microsoft.com/fwlink/?LinkID=98770",b="http://go.microsoft.com/fwlink/?LinkID=98775",d="http://go.microsoft.com/fwlink/?LinkID=98774";if(c=="a"){a="http://go.microsoft.com/fwlink/?LinkID=98771";spacecontrol.ShowAtmosphere=true}if(c=="h"){a="http://go.microsoft.com/fwlink/?LinkID=98772";spacecontrol.ShowAtmosphere=true}if(c=="r"){spacecontrol.TexturesVisible=false;if(spacecontrol.HardwareClassificationLevel<3){a="http://go.microsoft.com/fwlink/?LinkID=98769"}spacecontrol.ShowAtmosphere=false}else{spacecontrol.TexturesVisible=true}if(2==spacecontrol.HardwareClassificationLevel){d="http://go.microsoft.com/fwlink/?LinkID=98773";b="http://go.microsoft.com/fwlink/?LinkID=98776"}else{if(1==spacecontrol.HardwareClassificationLevel){d="http://go.microsoft.com/fwlink/?LinkID=98773";b=""}}if(loadBaseTiles){spacecontrol.AddImageSource("Terrain","Texture",GetManifestUrl(a),0,1)}spacecontrol.AddElevationSource("Terrain","DEM",GetManifestUrl(d),0);if(b!=""){spacecontrol.AddModelSource("Model","Model",GetManifestUrl(b))}else{spacecontrol.RemoveModelSource("Model","Model")}};this.ShowSVG=function(a){bShowSVG=a};this.getSvgLayer=function(){if(svgLayer==null){svgDiv=document.createElement("div");svgDiv.style.position="absolute";if(bShowSVG){svgDiv.style.zIndex=60}else{svgDiv.style.zIndex=-1}svgDiv.align="left";this.resizeSVG();map.appendChild(svgDiv);svgLayer=new Msn.Drawing.SvgLayer(svgDiv,this)}return svgLayer};this.resetSvgLayer=function(){this.getSvgLayer();svgDiv.style.top=-parseInt(map.style.top)+"px";svgDiv.style.left=-parseInt(map.style.left)+"px";if(currentMode!=threeDMode&&graphicCanvas){graphicCanvas.SetOffset(offsetX,offsetY);tileLayerManager.RePositionPrintTiles()}};this.resizeSVG=function(){if(svgDiv!=null){var b=GetWindowWidth(),a=GetWindowHeight();svgDiv.style.top="0px";svgDiv.style.left="0px";svgDiv.style.width=b+"px";svgDiv.style.height=a+"px";if(currentMode!=threeDMode&&graphicCanvas){graphicCanvas.SetOffset(offsetX,offsetY);graphicCanvas.RepositionLogo(g(p_elSource).getStyle("width"),g(p_elSource).getStyle("height"));tileLayerManager.RePositionPrintTiles()}}};function GetGraphic(a){if(!graphicCanvas){try{graphicCanvas=Msn.Drawing.Graphic.CreateGraphic(map,a);graphicCanvas.SetZIndex(17)}catch(b){}}return graphicCanvas}this.GetDashboard=function(){return dashboard};this.GetMinimap=function(){return minimapControl};this.DisableZoomEvents=function(a){mouseZoomDisabled=a};this.GetMouseWheelZoomToCenter=function(){return mousewheelZoomToCenter};this.SetMouseWheelZoomToCenter=function(a){mousewheelZoomToCenter=a};this.SetMinimapMode=function(){mouseZoomDisabled=true;isMinimap=true};this.SetCursor=function(a){var b=p_elSource.style;if(b.cursor!=a){b.cursor=a}};this.Destroy=function(){if(currentView){currentView.Destroy();currentView=null}if(preferredView){preferredView.Destroy();preferredView=null}if(copyright){copyright.Destroy();copyright=null}if(currentMode==threeDMode&&currentMode!=null){this.Destroy3DOnly()}else{this.Destroy2DOnly();while(pushpins.length){pushpins.pop().Destroy()}ClearLines()}if(!p_htParams.fixedView){p_elSource.detachEvent("onmousedown",MouseDown);p_elSource.detachEvent("onmouseup",MouseUp);p_elSource.detachEvent("onmousemove",MouseMove);p_elSource.detachEvent("ondblclick",MouseDoubleClick);p_elSource.detachEvent("oncontextmenu",ContextMenu);p_elSource.detachEvent("onmousewheel",MouseWheel);p_elSource.detachEvent("onclick",MouseClick);p_elSource.detachEvent("onmouseout",MouseOut);p_elSource.detachEvent("onmouseover",MouseOver);p_elSource.detachEvent("onmouseenter",MouseEnter);p_elSource.detachEvent("onmouseleave",MouseLeave)}if(dashboard){if(typeof dashboard.Destroy!="undefined"){dashboard.Destroy()}dashboard=null}if(mapLegend){DetachEvent("onendzoom",mapLegend.Update);DetachEvent("onendpan",mapLegend.Update);DetachEvent("onobliquechange",mapLegend.Update);if(typeof VE_TrafficManager!="undefined"&&VE_TrafficManager!=null){VE_TrafficManager.CloseTrafficLegend()}mapLegend.Destroy();mapLegend=null}if(dashboardContainer){dashboardContainer.detachEvent("onmousedown",IgnoreEvent);dashboardContainer.detachEvent("onmouseup",IgnoreEvent);dashboardContainer.detachEvent("onmousemove",DashboardContainerMouseMoveEvent);dashboardContainer.detachEvent("onmousewheel",IgnoreEvent);dashboardContainer.detachEvent("ondblclick",IgnoreEvent);dashboardContainer.detachEvent("oncontextmenu",IgnoreEvent);dashboardContainer.detachEvent("onkeydown",IgnoreEvent);dashboardContainer.detachEvent("onkeyup",IgnoreEvent);dashboardContainer=null}if(minimapControl){minimapControl.Destroy();minimapControl=null}if(minimapContainer){minimapContainer.detachEvent("onmousedown",IgnoreEvent);minimapContainer.detachEvent("onmouseup",IgnoreEvent);minimapContainer.detachEvent("onmousemove",DashboardContainerMouseMoveEvent);minimapContainer.detachEvent("onmousewheel",IgnoreEvent);minimapContainer.detachEvent("ondblclick",IgnoreEvent);minimapContainer.detachEvent("oncontextmenu",IgnoreEvent);minimapContainer.detachEvent("onkeydown",IgnoreEvent);minimapContainer.detachEvent("onkeyup",IgnoreEvent);minimapContainer=null}if(orthoMode){orthoMode.Destroy();orthoMode=null}if(obliqueMode){obliqueMode.Destroy();obliqueMode=null}if(threeDMode){threeDMode.Destroy();threeDMode=null}DestroyEventTable();m_clientToken=null;p_elSource.style.backgroundColor="transparent";p_elSource.style.backgroundImage="none";p_elSource.style.filter="";keyboard=p_elSource=p_this=map=null;tileLayerManager.ClearTileLayers();cssCursors=null;cssFn=null};this.Destroy2DOnly=function(){if(!p_htParams.fixedView){keyboard.detachEvent("onkeydown",KeyDown);keyboard.detachEvent("onkeyup",KeyUp);keyboard.detachEvent("onblur",StopKeyboardPan);p_elSource.detachEvent("onmousewheel",MouseWheel)}tileLayerManager.Active=false;if(scaleBar){DetachEvent("onendzoom",scaleBar.Update);DetachEvent("onendpan",scaleBar.Update);DetachEvent("onobliquechange",scaleBar.Update);DetachEvent("onchangemapstyle",scaleBar.Update);DetachEvent("onresize",scaleBar.Reposition);scaleBar.Destroy();scaleBar=null}if(copyright){copyright.PinTo(null)}if(logo){logo.Destroy();logo=null}if(boxTool){boxTool.Destroy();boxTool=null}if(panTool){panTool.Destroy();panTool=null}if(targetTool){targetTool.destroy();targetTool=null}if(graphicCanvas){graphicCanvas.Destroy();graphicCanvas=null}Fire("ondestroymode",Msn.VE.MapActionMode.Mode2D)};this.Destroy3DOnly=function(){DetachEvent("onchangetraffic",OnView3DScaleBarPositionUpdate);DetachEvent("onchangemapstyle",OnChangeMapStyle3D);view3DCreated=false;try{spacecontrol.Close()}catch(c){}spacecontrol=false;window.status="";if(spacediv!=null){spacediv.removeNode(true);spacediv=null}if(dashboard&&dashboard.GetShimmedElements){var b=dashboard.GetShimmedElements(),a;for(a=0;a<b.length;a++){destroyIFrameShim(b[a].id)}}if(mapLegend){mapLegend.RemoveShim()}Fire("ondestroymode",Msn.VE.MapActionMode.Mode3D)};function OnView3DScaleBarPositionUpdate(){var a=0;if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){if(VE_TrafficManager.turnedOn&&VE_TrafficManager.legend!=null&&VE_TrafficManager.legendPinned){a=25}}else{if(VE_TrafficManager.turnedOn){a=25}}if(spacecontrol){spacecontrol.RaiseEvent("CB24F613-FE72-442e-857A-BB2FD6BFBAA5","OnScaleBarPositionChange",a)}}function UpdateFromParent(){var a=g(p_elSource).getPagePosition();x=a.x;y=a.y;width=p_elSource.offsetWidth;height=p_elSource.offsetHeight}function CreateDashboard(c,d,b,h,e,g,f,a){if(currentMode==threeDMode&&currentMode!=null){b=Msn.VE.DashboardSize.Normal}dashboard=Msn.VE.NavControlFactory(p_elSource,p_this,b,h,e,g,f,a);dashboard.Init();dashboardContainer=dashboard.GetElement();if(a==5){if(isFinite(parseInt(c))){dashboardContainer.style.left=c+"px"}if(isFinite(parseInt(d))){dashboardContainer.style.top=d+"px"}}}function CreateMinimap(c,d,a,f,g,h,e){minimapContainer=document.createElement("div");if(typeof a!="undefined"&&a!=null){minimapContainer.id=a}else{minimapContainer.id="MSVE_minimap"}p_elSource.appendChild(minimapContainer);minimapContainer.attachEvent("onmousedown",IgnoreEvent);minimapContainer.attachEvent("onmouseup",IgnoreEvent);minimapContainer.attachEvent("onmousemove",DashboardContainerMouseMoveEvent);minimapContainer.attachEvent("onmousewheel",IgnoreEvent);minimapContainer.attachEvent("ondblclick",IgnoreEvent);minimapContainer.attachEvent("oncontextmenu",IgnoreEvent);minimapContainer.attachEvent("onkeydown",IgnoreEvent);minimapContainer.attachEvent("onkeyup",IgnoreEvent);minimapControl=new Msn.VE.Minimap(minimapContainer,p_this,g,h);if(e){minimapControl.SetClientToken(e)}var b=f||IsMapViewOblique()||$MVEM.IsEnabled(MapControl.Features.Minimap.ShowByDefault);b=b&&IsModeEnabled(Msn.VE.MapActionMode.Mode2D);if(b){minimapControl.Init()}if(typeof c!="undefined"&&c!=null&&typeof d!="undefined"&&d!=null){minimapControl.SetPosition(c,d)}return minimapControl}function OnChangeView(){if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){var b=GetObliqueScene();if(b!=null&&targetTool){var a=Msn.VE.Geometry,e=g(p_elSource).getPagePosition(),c=new a.Point(e.x+(map.offsetLeft-originX),e.y+(map.offsetTop-originY)),d=2/currentView.zoomLevel,h=new a.Point(c.x+b.GetWidth()/d,c.y+b.GetHeight()/d),f=new a.Rectangle(c,h);f.scale(-256);targetTool.setBoundingArea(f);a=null}b=null}if(obliqueMode){obliqueMode.UpdateAvailability()}}function SetDefaultView(){var a=new Msn.VE.MapView(p_this);a.SetCenterLatLong(new Msn.VE.LatLong(0,0));a.SetZoomLevel(1);a.SetMapStyle(roadStyle);SetBaseTileSource(a);SetView(a);Initialized2D=true}function SetAltitude(b){Sync3dView();var a=currentView.MakeCopy();a.SetAltitude(b);SetView(a)}function SetTilt(b){Sync3dView();var a=currentView.MakeCopy();a.SetTilt(b);SetView(a)}function SetDirection(b){Sync3dView();var a=currentView.MakeCopy();a.SetDirection(b);SetView(a)}function GetCurrentMode(){return currentMode}function GetObliqueMode(){return obliqueMode}function GetOrthoMode(){return orthoMode}function GetMapWidth(){return width}function GetMapHeight(){return height}function SetMapHeight(a){height=a;p_this.h=a;p_elSource.style.height=a}function GetCurrentMapView(){return preferredView.MakeCopy()}function SetCenter(c,b){Sync3dView();var a=preferredView.MakeCopy();a.SetCenterLatLong(new Msn.VE.LatLong(c,b));SetView(a)}function SetCenterAccurate(c,b){Sync3dView();var a=preferredView.MakeCopy();a.SetCenterLatLongAccurate(new Msn.VE.LatLong(c,b));SetView(a)}function SetMapStyle(b,f,c,e,d){Sync3dView();var a=currentView.MakeCopy();a.SetMapStyle(ValidateMapStyle(b),f,c,e,d);if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)!=Msn.VE.MapStyle.IsViewOblique(b)){if(Msn.VE.MapStyle.IsViewOblique(b)){Fire("onstartmapstyleoblique");a.SetZoomLevel(1);lastOrthoZoomLevel=currentView.zoomLevel;lastOrthoMapStyle=currentView.mapStyle}else{if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){Fire("onendmapstyleoblique");a.SetZoomLevel(lastOrthoZoomLevel)}}}a.latlong.latitude=GetCenterLatitude();a.latlong.longitude=GetCenterLongitude();if(currentMode==threeDMode){a._supressFlyToCall=true}SetView(a)}function SetScaleBarDistanceUnit(a){currentScaleBarUnit=a;if(scaleBar!=null){scaleBar.SetDistanceUnit(a);scaleBar.Update()}if(currentMode==threeDMode&&spacecontrol!=null){if(a==null){bUseKilometers=$MVEM.IsEnabled(MapControl.Features.ScaleBarKilometers)}else{bUseKilometers=a==Msn.VE.DistanceUnit.Kilometers}spacecontrol.DisplayMetricUnits=bUseKilometers}}function SetScaleBarVisibility(a){p_htParams.showScaleBar=a;if(currentMode!=null){if(currentMode==threeDMode){if(spacecontrol!=null){spacecontrol.ShowScale=a}}else{if(a){if(!scaleBar){InitScaleBar()}scaleBar.Show()}else{if(scaleBar){scaleBar.Hide()}}}}}function ValidateMapStyle(a){if(Msn.VE.MapStyle.IsViewOrtho(a)||Msn.VE.MapStyle.IsViewOblique(a)){return a}else{return roadStyle}}function GetCenterLatitude(){if(currentMode==threeDMode){if(view3DCreated){var a=spacecontrol.GetCenterLatitude();return isNaN(a)?null:a}return null}else{if(currentView!=null&&currentView!="undefined"&&currentView.latlong!=null&&currentView.latlong!="undefined"&&currentView.latlong.latitude!=null&&currentView.latlong.latitude!="undefined"){return currentView.GetCenterLatLong().latitude}}return null}function GetCenterLongitude(){if(currentMode==threeDMode){if(view3DCreated){var a=spacecontrol.GetCenterLongitude();return isNaN(a)?null:a}return null}else{if(currentView!=null&&currentView!="undefined"&&currentView.latlong!=null&&currentView.latlong!="undefined"&&currentView.latlong.longitude!=null&&currentView.latlong.longitude!="undefined"){return currentView.GetCenterLatLong().longitude}}return null}function ComputeCenterPoint(a){currentView.latlong=currentMode.PixelToLatLong(currentView.center,currentView.zoomLevel);if(a){preferredView.Copy(currentView)}}function GetLatitude(c){var b=new VEPixel(originX+offsetX+width/2,originY+offsetY+c),a=currentMode.PixelToLatLong(b,currentView.zoomLevel);if(!a){return null}return a.latitude}function GetLongitude(c){var b=new VEPixel(originX+offsetX+c,originY+offsetY+height/2),a=currentMode.PixelToLatLong(b,currentView.zoomLevel);if(!a){return null}return a.longitude}function GetY(b){var c=new Msn.VE.LatLong(b,currentView.center.longitude),a=LatLongToPixel(c);if(!a){return null}return MathRound(a.y)}function GetX(b){var c=new Msn.VE.LatLong(currentView.center.latitude,b),a=LatLongToPixel(c);if(!a){return null}return MathRound(a.x)}function LatLongToPixel(c,a){if(a==null||typeof a=="undefined"){a=currentView.zoomLevel}var b=currentMode.LatLongToPixel(c,a);if(b!=null){if(currentMode!=threeDMode){b.x-=originX+offsetX;b.y-=originY+offsetY}}return b}function LatLongToPixelAsync(c,a,d){if(a==null||typeof a=="undefined"){a=currentView.zoomLevel}var b=function(a){if(a!=null&&typeof a!="undefined"&&currentMode!=threeDMode){for(var b=0;b<a.length;++b){if(a[b]!=null){a[b].x-=originX+offsetX;a[b].y-=originY+offsetY}}}d(a)};currentMode.LatLongToPixelAsync(c,a,b)}function PixelToLatLong(b,a){if(a==null||typeof a=="undefined"){a=currentView.zoomLevel}var c=new VEPixel(b.x+originX+offsetX,b.y+originY+offsetY);return currentMode.PixelToLatLong(c,a)}function PixelToLatLongAsync(c,b,e){if(b==null||typeof b=="undefined"){b=currentView.zoomLevel}var d=[];for(var a=0;a<c.length;++a){d[a]=new VEPixel(c[a].x+originX+offsetX,c[a].y+originY+offsetY)}currentMode.PixelToLatLongAsync(d,b,e)}function GetZoomLevel(){return currentView.zoomLevel}function GetMapStyle(){return currentView.mapStyle}function GetMapMode(){var a=Msn.VE.MapActionMode.ModeUnknown;if(currentMode!=null){if(currentMode==threeDMode){a=Msn.VE.MapActionMode.Mode3D}else{if(currentMode==orthoMode){a=Msn.VE.MapActionMode.Mode2D}else{if(currentMode==obliqueMode){a=Msn.VE.MapActionMode.ModeOblique}}}}return a}function GetMode(){var a=Msn.VE.MapActionMode.ModeUnknown;if(currentMode!=null){if(currentMode==threeDMode){a=Msn.VE.MapActionMode.Mode3D}else{if(currentMode==orthoMode){a=Msn.VE.MapActionMode.Mode2D}else{if(currentMode==obliqueMode){if(this.GetDashboard().GetMode()==1){a=Msn.VE.MapActionMode.Mode2D}else{a=Msn.VE.MapActionMode.Mode3D}}}}}return a}function GetAltitude(){return currentView.GetAltitude()}function GetTilt(){return currentView.GetTilt()}function GetDirection(){return currentView.GetDirection()}function EnableMode(b,a){switch(b){case Msn.VE.MapActionMode.Mode3D:this._Enable3DMode(a);break;case Msn.VE.MapActionMode.Mode2D:default:this._Disable3DMode(a);UnHidePins()}}function _Enable3DMode(a){if(currentMode!=threeDMode&&currentMode!=null){VE_3DPhotoPluginObj=0;VE_3DGeoCommunityPluginObj=0;VE_3DStreetLevelGeometryObj=0;VE_3DWeatherPluginObj=0;VE_3DHiResModelsPluginObj=0;PluginEventRegistered=0;PhotoPluginEventRegistered=0;GeoCommunityPluginEventRegistered=0;StreetLevelGeometryEventRegistered=0;previousMode=currentMode;currentMode=threeDMode;this.Destroy2DOnly();if(typeof a!="undefined"){init3dparam=a}this.Init3DOnly()}}function _Disable3DMode(a){if(currentMode==threeDMode&&currentMode!=null){previousMode=currentMode;currentMode=orthoMode;this.Destroy3DOnly();this.Init2DOnly(a)}}function ControlReady(){return IsModeEnabled(Msn.VE.MapActionMode.Mode2D)||IsModeEnabled(Msn.VE.MapActionMode.Mode3D)&&Get3DControl()!=null}function Get3DControl(){if(view3DCreated){return spacecontrol}return null}function IsModeEnabled(b){var a=currentMode!=null&&currentMode==threeDMode;switch(b){case Msn.VE.MapActionMode.Mode2D:return !a;break;case Msn.VE.MapActionMode.Mode3D:return a}return false}function Get3DVisibleArea(acceptRegionAroundCenter){if(!view3DCreated){return null}var lat1,lon1,lat2,lon2,lat3,lon3,lat4,lon4,aroundcenter,ret=spacecontrol.QueryRegion();eval(ret);if((acceptRegionAroundCenter=="undefined"||acceptRegionAroundCenter==false)&&aroundcenter==1){return null}var points=[];points.push(new Msn.VE.LatLong(lat1,lon1));points.push(new Msn.VE.LatLong(lat2,lon2));points.push(new Msn.VE.LatLong(lat3,lon3));points.push(new Msn.VE.LatLong(lat4,lon4));return points}function Show3DTraffic(a){if(view3DCreated){if(!traffic3dAdded||a){spacecontrol.AddImageSource("Terrain","Traffic",GetManifestUrl("http://go.microsoft.com/fwlink/?LinkID=98777"),1,0.6);traffic3dAdded=true}}}function Remove3DTraffic(){if(view3DCreated&&traffic3dAdded){spacecontrol.RemoveImageSource("Terrain","Traffic");traffic3dAdded=false}}function Show3DBirdseye(a,b){if(currentMode==threeDMode&&spacecontrol){ProcessPhotoPluginActionIn3D("PhotosEnabled","enabled="+(a?"1":"0")+";labels="+(b?"1":"0"),spacecontrol);p_this.Set3DPhotoPluginActive(a);p_this.UpdateCopyright()}}function Sync3dView(){if(spacecontrol&&spaceCameraIsFlying){spacecontrol.RaiseCameraChangedEvent()}}function OnBeginCameraUpdate(){cameraUpdateCount++;spaceCameraIsFlying=true}function OnEndCameraUpdate(){spaceCameraIsFlying=false}function IsCameraFlying(){return spaceCameraIsFlying}function GetMetersPerPixel(b,a){if(!b){b=currentView.latlong.latitude}if(!a){a=currentView.zoomLevel}return Math.cos(DegToRad(b))*currentMode.MetersPerPixel(a)}function Fill(){var b=g(p_elSource).getStyle("width"),a=g(p_elSource).getStyle("height"),f=parseInt(b)-width,h=parseInt(a)-height;if(!/px$/.test(b)){width=p_elSource.clientWidth||p_elSource.offsetWidth}else{width=parseInt(b)}if(!/px$/.test(a)){height=p_elSource.clientHeight||p_elSource.offsetHeight}else{height=parseInt(a)}if(!panning){if(currentMode!=threeDMode){panning=true;var e=g(map).getComputedPosition(),c={x:e.x+f/2,y:e.y+h/2};offsetX=-c.x;offsetY=-c.y;var d=new VEPixel(width/2+originX+offsetX,height/2+originY+offsetY);currentView.SetCenter(d);preferredView.SetCenter(new VEPixel(d.x,d.y));window.setTimeout(tileLayerManager.PanView,1);g(map).slideToPoint(c,"quickly","MAP_SLIDE",function(){panning=false},Gimme.Animation.AccelerationLines.quickStartDecelerate)}else{PanToView(currentView)}}if(resizeInProgress){resizeInProgress=false}}function GetSourceWidth(){var b=g(p_elSource).getStyle("width"),a;if(!/px$/.test(b)){a=p_elSource.clientWidth||p_elSource.offsetWidth}else{a=parseInt(b)}return a}function GetSourceHeight(){var b=g(p_elSource).getStyle("height"),a;if(!/px$/.test(b)){a=p_elSource.clientHeight||p_elSource.offsetHeight}else{a=parseInt(b)}return a}function Resize(b,a){if(resizeTimer!=null&&typeof resizeTimer=="number"){window.clearTimeout(resizeTimer)}p_this.w=b;p_this.h=a;resizeTimer=window.setTimeout(p_this.FireResize,250)}this.FireResize=function(){if(resizeInProgress){return }else{resizeInProgress=true}var b=p_this.w,a=p_this.h;if(!b||b<=0||!a||a<=0){Fill()}else{p_elSource.style.width=b+"px";p_elSource.style.height=a+"px";UpdateFromParent();if(currentMode==null||currentMode!=threeDMode){if(b&&b>=0){width=b}if(a&&a>=0){height=a}}PanToView(currentView)}if(copyright){copyright.Reposition()}if(scaleBar){scaleBar.Reposition()}if(!document.all){p_this.resizeSVG()}Fire("onresize")};function IsObliqueAvailable(){return obliqueMode?obliqueMode.IsAvailable():false}function GetObliqueScene(){return obliqueMode?obliqueMode.GetScene():null}function SetAnimationEnabled(a){animatedMovementEnabled=a}function IsAnimationEnabled(){return animatedMovementEnabled&&currentMode!=threeDMode}function SetObliqueScene(a){if(obliqueMode){SetMapStyle(obliqueStyle,a,null)}}function SetObliqueLocation(f,c,d,e){if(obliqueMode){Sync3dView();var a=currentView.MakeCopy(),b;if(IsMapViewOblique()){b=GetMapStyle()}else{b=p_htParams.labelsDefault?obliqueHybridStyle:obliqueStyle}a.SetMapStyle(b,null,c);a.SetZoomLevel(d);if(!Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){Fire("onstartmapstyleoblique");lastOrthoZoomLevel=currentView.zoomLevel;lastOrthoMapStyle=currentView.mapStyle}a.SetCenterLatLong(f);a.callback=e;SetView(a)}}function SetObliqueOrientation(d,c,b){if(obliqueMode){var a;if(IsMapViewOblique()){a=GetMapStyle()}else{a=p_htParams.labelsDefault?obliqueHybridStyle:obliqueStyle}SetMapStyle(a,null,d,c,b)}}function Debug(a){debug=a}function GetMapLegend(){return mapLegend}function SetFocus(){if(currentMode==threeDMode){spacecontrol.Focus()}else{keyboard.focus()}}function StopKeyboardPan(){if(panning&&keyboardPan){StopContinuousPan()}}function UpdatePreferredView(){preferredView.Copy(currentView)}function GetCenterOffset(){if(currentMode!=null&&currentMode==threeDMode){return new VEPixel(0,0)}return mapCenterOffset}function SetCenterOffset(a){if(typeof a!="undefined"&&a!=null){mapCenterOffset=a}}function GetLastViewChangeType(){var a=lastViewChangeType;lastViewChangeType=null;return a}function ShowNonIENotSupportedDialog(){Fire("onerror",CreateEvent(currentView.latlong,currentView.zoomLevel,L_BrowserNotSupported_Text.replace(/%1/g,'<a href="'+L_SupportedBrowserDownloadUrl_Text+'" target="_blank">').replace(/%3/g,L_SupportedBrowserDownloadUrl_Text).replace(/%2/g,"</a>")))}function DelayedHWDialog(){ShowMessage(L_NoHardwareAcceleration_Text)}function SetShowMapModeSwitch(a){if(dashboard&&dashboard.constructor==Msn.VE.NavAction){dashboard.SetShowMapModeSwitch(a)}}function SetTilePixelBuffer(a){buffer=a<maxTilePixelBuffer?a:maxTilePixelBuffer}function SetClientToken(a){m_clientToken=a;if(tileLayerManager){tileLayerManager.SetClientToken(mapTiles,m_clientToken);tileLayerManager.SetClientToken(trafficTiles,m_clientToken)}if(minimapControl){minimapControl.SetClientToken(m_clientToken)}if(obliqueMode){obliqueMode.SetUseOriginTiles(p_htParams.useOriginTiles);obliqueMode.SetClientToken(m_clientToken)}}function GetTopPx(){if(typeof p_elSource!="undefined"&&p_elSource!=null){return g(p_elSource).getPagePosition().y}else{return 0}}function GetLeftPx(){if(typeof p_elSource!="undefined"&&p_elSource!=null){return g(p_elSource).getPagePosition().x}else{return 0}}function GetObliqueAvailability(b,a){if(obliqueMode){obliqueMode.GetObliqueAvailability(b,a)}else{if(typeof a=="function"){a(false)}}}function GetMapSurface(){return map}this.CreateLegend=function(){if(!mapLegend){mapLegend=new MapLegend(p_elSource);mapLegend.Init();if(copyright){mapLegend.PinTo(copyright)}}return mapLegend};function CalculateTileViewPort(a,b,d,c,e){return tileLayerManager.CalculateTileViewPort(a,b,d,c,e)}function GetCurrentTileViewPort(){return tileLayerManager.GetViewPort()}function SetPrintable(a){if(a){graphicCanvas.CreatePrintLayer(map,this,g(p_elSource).getStyle("width"),g(p_elSource).getStyle("height"));tileLayerManager.SetPrintable(true);graphicCanvas.AddLogo(logo.GetURL());g(p_elSource).addClass("MSVE_Printable_Map")}else{tileLayerManager.SetPrintable(false);graphicCanvas.RemovePrintLayer(this);g(p_elSource).removeClass("MSVE_Printable_Map")}}function IsMapViewOblique(){return Msn.VE.MapStyle.IsViewOblique(GetMapStyle())}function IsMapViewOrtho(){return Msn.VE.MapStyle.IsViewOrtho(GetMapStyle())}function GetTileGeneration(a){return generations[a]}function ClipView(b,c){var a=ShiftView(b,c,0,0);if(typeof a!="undefined"&&a!=null){b.SetCenter(new VEPixel(b.center.x+a.x,b.center.y+a.y))}}function ShiftView(b,a,c,d){if(b!=null&&b.center!=null&&a!=null&&a!="undefined"){c=ClipDelta(c,width,b.center.x-width/2,b.zoomLevel,a.z1,a.x1,a.x2,b.mapStyle);d=ClipDelta(d,height,b.center.y-height/2,b.zoomLevel,a.z1,a.y1,a.y2,b.mapStyle);return new VEPixel(c,d)}}function ClipDelta(a,b,d,g,f,i,h){var c=tileSize*i*Math.pow(2,g-f),e=tileSize*h*Math.pow(2,g-f);if(IsMapViewOblique()){c-=Math.ceil(b/2);e+=Math.ceil(b/2)}if(b>e-c){a=(e-c-b)/2-d+c}else{if(d+a<c){a=c-d}else{if(d+b+a>e){a=e-d-b}}}return a}function VECopyrightTableEntry(b,a,e,f,c,d){this.MinZoomLevel=b;this.MaxZoomLevel=a;this.MinLatitude=e;this.MinLongitude=f;this.MaxLatitude=c;this.MaxLongitude=d}VECopyrightTableEntry.prototype.IsMatch=function(b,c,a){var d=false;if(b>=this.MinZoomLevel&&b<=this.MaxZoomLevel&&(c>=this.MinLatitude&&c<=this.MaxLatitude)&&(a>=this.MinLongitude&&a<=this.MaxLongitude)){d=true}return d};function VECopyrightTable(){var L_MapControlImageCourtesyOfPictometry_Text="Pictometry Bird’s Eye &copy; 2010 Pictometry International Corp";var L_MapControlImageCourtesyOfPictometry_CAN_Text="Pictometry Bird’s Eye &copy; 2010 MDA Geospatial Services Inc.";var L_MapControlImageCourtesyOfPictometry_AUS_Text="Pictometry Bird’s Eye &copy; 2010 AAMHatch Pty Ltd";var L_MapControlImageCourtesyOfBlom_Text="&copy; 2010 Blom";var L_MapControlImageCourtesyOfNAVTEQ_Text="&copy; 2010 NAVTEQ";var L_MapControlImageCourtesyOfAND_Text="&copy; AND";var L_MapControlImageCourtesyOfMapDataSciences_Text="&copy; 2010 MapData Sciences Pty Ltd, PSMA";var L_MapControlImageCourtesyOfZenrin_Text="&copy; 2010 Zenrin";var L_MapControlImageCourtesyOfIntermap_Text="&copy; 2010 Intermap";var L_MapControlImageCourtesyOfDigitalGlobe_Text="&copy; 2010 DigitalGlobe";var L_MapControlImageCourtesyOfNASA_Text="Image courtesy of NASA";var L_MapControlImageCourtesyOfHarrisCorp_Text="&copy; Harris Corp, Earthstar Geographics LLC";var L_MapControlImageCourtesyOfUSGS_Text="Image courtesy of USGS";var L_MapControlImageCourtesyOfGetmapping_Text="&copy; Getmapping plc";var L_MapControlImageCourtesyOfGeoEye_Text="&copy; 2010 GeoEye";var L_MapControlImageCourtesyOfPasco_Text="&copy; 2010 Pasco";var L_MapControlImageCourtesyOfIntergraph_Text="&copy; GeoContent / (p) Intergraph";var L_MapControlImageCourtesyOfTerraItaly_Text="&copy; 2010 TerraItaly";var L_MapControlImageCourtesyOfIntermap_Text="&copy; 2010 Intermap";var L_MapControlImageCourtesyOfIndianaMap_Text="Image courtesy of the IndianaMap";var L_MapControlImageCourtesyOfStateOfNevada_Text="Image courtesy of the Nevada State Mapping Advisory Committee";var L_MapControlImageCourtesyOfInterAtlas_Text="&copy; 2010 InterAtlas";var L_MapControlImageCourtesyOfEurosense_Text="&copy; 2010 Eurosense";var L_MapControlImageCourtesyOfIGP_Text="&copy; 2010 IGP";var L_MapControlImageCourtesyOfIGN_Text="&copy; 2010 IGN";var L_MapControlImageCourtesyOfBC_Text="&copy; Province of British Columbia";var L_MapControlImageCourtesyOfBEV_Text="&copy; 2010 BEV / (p) Intergraph";var L_MapControlImageCourtesyOfBlom_Text="&copy; 2010 Blom";var L_MapControlImageCourtesyOfAerialsExpress_Text="&copy; 2010 Aerials Express";var m_tableKeys=[];m_tableKeys[Msn.VE.MapStyle.Oblique]=[L_MapControlImageCourtesyOfPictometry_Text,L_MapControlImageCourtesyOfPictometry_CAN_Text,L_MapControlImageCourtesyOfPictometry_AUS_Text,L_MapControlImageCourtesyOfBlom_Text];m_tableKeys[Msn.VE.MapStyle.Road]=[L_MapControlImageCourtesyOfNAVTEQ_Text,L_MapControlImageCourtesyOfAND_Text,L_MapControlImageCourtesyOfMapDataSciences_Text,L_MapControlImageCourtesyOfZenrin_Text,L_MapControlImageCourtesyOfIntermap_Text];m_tableKeys[Msn.VE.MapStyle.Aerial]=[L_MapControlImageCourtesyOfDigitalGlobe_Text,L_MapControlImageCourtesyOfNASA_Text,L_MapControlImageCourtesyOfHarrisCorp_Text,L_MapControlImageCourtesyOfUSGS_Text,L_MapControlImageCourtesyOfGetmapping_Text,L_MapControlImageCourtesyOfGeoEye_Text,L_MapControlImageCourtesyOfPasco_Text,L_MapControlImageCourtesyOfIntergraph_Text,L_MapControlImageCourtesyOfTerraItaly_Text,L_MapControlImageCourtesyOfIntermap_Text,L_MapControlImageCourtesyOfIndianaMap_Text,L_MapControlImageCourtesyOfStateOfNevada_Text,L_MapControlImageCourtesyOfInterAtlas_Text,L_MapControlImageCourtesyOfEurosense_Text,L_MapControlImageCourtesyOfIGP_Text,L_MapControlImageCourtesyOfIGN_Text,L_MapControlImageCourtesyOfBC_Text,L_MapControlImageCourtesyOfBEV_Text,L_MapControlImageCourtesyOfBlom_Text,L_MapControlImageCourtesyOfAerialsExpress_Text];var m_table=[];m_table[Msn.VE.MapStyle.Oblique]=[];m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_Text]=[];m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_Text].push(new VECopyrightTableEntry(1,20,10,-165,75,-45));m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_Text].push(new VECopyrightTableEntry(1,20,10,90,72,165));m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_CAN_Text]=[];m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_CAN_Text].push(new VECopyrightTableEntry(1,20,41.3,-142,70,-50));m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_AUS_Text]=[];m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfPictometry_AUS_Text].push(new VECopyrightTableEntry(1,20,-60,90,0,180));m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfBlom_Text]=[];m_table[Msn.VE.MapStyle.Oblique][L_MapControlImageCourtesyOfBlom_Text].push(new VECopyrightTableEntry(1,20,34,-13,72,35));m_table[Msn.VE.MapStyle.Road]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(1,9,-90,-180,90,180));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,14,-180,90,-50));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,27,-32,40,-13));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,35,-11,72,20));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,21,20,72,32));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,21.92,113.14,22.79,114.52));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,21.73,119.7,25.65,122.39));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,0,98.7,8,120.17));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfNAVTEQ_Text].push(new VECopyrightTableEntry(10,21,0.86,103.2,1.92,104.45));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfAND_Text]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfAND_Text].push(new VECopyrightTableEntry(10,21,-90,-180,90,180));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfMapDataSciences_Text]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfMapDataSciences_Text].push(new VECopyrightTableEntry(5,21,-45,111,-9,156));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfMapDataSciences_Text].push(new VECopyrightTableEntry(5,21,-49.7,164.42,-30.82,180));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfZenrin_Text]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfZenrin_Text].push(new VECopyrightTableEntry(4,21,23.5,122.5,46.65,151.66));m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfIntermap_Text]=[];m_table[Msn.VE.MapStyle.Road][L_MapControlImageCourtesyOfIntermap_Text].push(new VECopyrightTableEntry(1,21,49,-11,60,2));m_table[Msn.VE.MapStyle.Aerial]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,-67,-179.99,27,0));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,27,-179.99,87,-126.5));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,48.4,-126.5,87,-5.75));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,-67,28,86.5,179.99));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,-67,0,37.8,28));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,37.7,18.5,59.8,28));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,43,-81.6,48.4,-10));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,27,-70,43,-10));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,27,-10,35.8,0));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,27,-120,32.3,-105.8));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfDigitalGlobe_Text].push(new VECopyrightTableEntry(14,21,43.4,13.78,54.9,18.5));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfNASA_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfNASA_Text].push(new VECopyrightTableEntry(1,8,-90,-180,90,180));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfHarrisCorp_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfHarrisCorp_Text].push(new VECopyrightTableEntry(9,13,-90,-180,90,180));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfUSGS_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfUSGS_Text].push(new VECopyrightTableEntry(14,17,17.99,-150.11,61.39,-65.57));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGetmapping_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGetmapping_Text].push(new VECopyrightTableEntry(14,21,49.94,-6.82,60.17,1.78));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,44.53,-63.75,45.06,-63.45));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,45.39,-73.78,45.66,-73.4));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,45.2,-75.92,45.59,-75.55));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,42.95,-79.81,44.06,-79.42));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,50.35,-114.26,51.25,-113.82));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,48.96,-123.33,49.54,-122.97));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,-35.42,138.32,-34.47,139.07));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,-32.64,115.58,-32.38,115.85));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,-34.44,150.17,-33.27,151.49));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfGeoEye_Text].push(new VECopyrightTableEntry(14,21,-28.3,152.62,-26.94,153.64));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfPasco_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfPasco_Text].push(new VECopyrightTableEntry(14,21,23.5,122.5,46.65,151.66));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIntergraph_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIntergraph_Text].push(new VECopyrightTableEntry(14,21,47,5,55.5,16));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraItaly_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraItaly_Text].push(new VECopyrightTableEntry(14,21,43.15,6.5,47.15,14));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraItaly_Text].push(new VECopyrightTableEntry(14,21,41.3,9.9,43.15,16.4));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfTerraItaly_Text].push(new VECopyrightTableEntry(14,21,36.5,7.9,41.3,18.7));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIntermap_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIntermap_Text].push(new VECopyrightTableEntry(1,21,49,-11,60,2));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIndianaMap_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIndianaMap_Text].push(new VECopyrightTableEntry(14,21,37.7,-88.2,41.9,-84.7));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfStateOfNevada_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfStateOfNevada_Text].push(new VECopyrightTableEntry(14,21,34.85,-120.2,42.12,-113.91));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfInterAtlas_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfInterAtlas_Text].push(new VECopyrightTableEntry(14,21,48.37,1.4,49.28,3.37));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfInterAtlas_Text].push(new VECopyrightTableEntry(14,21,47.72,1.67,48.05,2.18));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfInterAtlas_Text].push(new VECopyrightTableEntry(14,21,45.55,4.57,45.95,5.33));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfInterAtlas_Text].push(new VECopyrightTableEntry(14,21,43.18,4.92,43.77,5.82));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfEurosense_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfEurosense_Text].push(new VECopyrightTableEntry(14,21,51,3,53.65,7.67));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfEurosense_Text].push(new VECopyrightTableEntry(14,21,50.58,5.42,51,5.47));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGP_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGP_Text].push(new VECopyrightTableEntry(14,21,36.88,-9.6,42.27,-6));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,42,-5,51.25,8.5));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,41.25,8.3,43.1,9.65));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,17.85,-63.17,18.15,-62.77));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,15.75,-61.9,16.55,-60.9));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,14.35,-61.25,14.95,-60.75));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,2.25,-54.65,6,-51.4));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,-21.5,55,-20.75,56));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfIGN_Text].push(new VECopyrightTableEntry(14,21,46.7,-56.5,47.2,-56.1));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBC_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBC_Text].push(new VECopyrightTableEntry(14,18,48.99,-139.05,60,-114.05));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBEV_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBEV_Text].push(new VECopyrightTableEntry(14,21,46.25,9.4,49.2,17.3));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBlom_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBlom_Text].push(new VECopyrightTableEntry(14,21,36.1,-9.51,51.04,11.67));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBlom_Text].push(new VECopyrightTableEntry(14,21,55.69,9.8,61.17,13.23));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfBlom_Text].push(new VECopyrightTableEntry(14,21,62.2,25.82,62.24,25.89));m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfAerialsExpress_Text]=[];m_table[Msn.VE.MapStyle.Aerial][L_MapControlImageCourtesyOfAerialsExpress_Text].push(new VECopyrightTableEntry(14,21,34.63,-90.41,35.52,-89.48));this.CreditsFor=function(a,i,j,h){var e=[];if(a!="undefined"&&a!=null&&typeof m_tableKeys[a]!="undefined"&&m_tableKeys[a]!=null){var k=m_tableKeys[a].length;for(var c=0;c<k;++c){var f=m_tableKeys[a][c],d=m_table[a][f],g=d.length;for(var b=0;b<g;++b){if(d[b].IsMatch(i,j,h)){e.push(f);break}}}}return e};this.CreditsForView=function(a){var b=[];b.push(L_MapCopyrightMicrosoft);if(a.mapStyle==Msn.VE.MapStyle.Hybrid){b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Road,a.zoomLevel,a.latlong.latitude,a.latlong.longitude));b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Aerial,a.zoomLevel,a.latlong.latitude,a.latlong.longitude))}else{if(a.mapStyle==Msn.VE.MapStyle.ObliqueHybrid){b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Road,17,a.latlong.latitude,a.latlong.longitude));b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Oblique,a.zoomLevel,a.latlong.latitude,a.latlong.longitude))}else{if(a.mapStyle==Msn.VE.MapStyle.Shaded){b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Road,a.zoomLevel,a.latlong.latitude,a.latlong.longitude))}else{b=b.concat(this.CreditsFor(a.mapStyle,a.zoomLevel,a.latlong.latitude,a.latlong.longitude))}}}if(view3DCreated&&a.mapStyle!=Msn.VE.MapStyle.Oblique&&photoplugin3dActive){b=b.concat(this.CreditsFor(Msn.VE.MapStyle.Oblique,a.zoomLevel,a.latlong.latitude,a.latlong.longitude))}if(typeof VE_TrafficManager!=="undefined"){if(VE_TrafficManager.turnedOn&&L_MapCopyrightTraffic!=""){var d=false;if(L_MapControlImageCourtesyOfNAVTEQ_Text){for(var c=0;c<b.length;c++){if(b[c]==L_MapControlImageCourtesyOfNAVTEQ_Text){d=true;b.splice(c+1,0,L_MapCopyrightTraffic);break}}}if(!d){b.push(L_MapCopyrightTraffic)}}}return b}}var g_sVECopyrightTable=new VECopyrightTable;function Copyright(f){var d=document.createElement("div"),a=document.createElement("div"),c=null,b=null;this.Show=function(){f.appendChild(d);f.appendChild(a)};this.Hide=function(){try{f.removeChild(d);f.removeChild(a)}catch(b){}};this.Init=function(){d.className="MSVE_Copyright MSVE_CopyrightBackground";a.className="MSVE_Copyright MSVE_CopyrightForeground";e();this.Show()};this.Destroy=function(){this.Hide();c=null;b=null;d=a=null};function e(){var e=0;if(c&&c.style.display!=="none"){var h=parseInt(g(c).getStyle("height")),f=parseInt(c.style.bottom);e+=(isNaN(h)?0:h)+(isNaN(f)?0:f)}d.style.bottom=e+"px";a.style.bottom=e+1+"px";if(b){window.setTimeout(b.Reposition,1)}}function j(){var g=g_sVECopyrightTable.CreditsForView(currentView),c="",f="";for(var b=0;b<g.length;++b){if(b>0){if(b==2){c+="\n"}else{c+="  "}}f+="<span>"+g[b]+"</span> ";c+=g[b]}if(view3DCreated){spacecontrol.SetCopyrightString(c)}d.innerHTML=f;a.innerHTML=f;e()}function i(){e()}function k(c){b=c;if(b){b.SetPinElement(a)}}function h(a){c=a;e()}this.Reposition=e;this.Update=j;this.SetOffset=i;this.PinTo=k;this.SetPinElement=h}function MapEvent(f,d,e,a,c,b,g){this.view=f;this.oblique=d;this.error=e;this.requestedView=a;this.elementID=c;this.mouseButton=b;this.e=g}function CreateEvent(b,f,c,d,e,n,g,h){var a=currentView.MakeCopy();if(b!=null&&b instanceof Msn.VE.LatLong){if(Msn.VE.API!=null){var m=new VELatLongFactory(new VELatLongFactorySpecFromMapView(a));a.LatLong=m.CreateVELatLong(b.latitude,b.longitude);a.latlong=b}else{a.latlong=b}if(typeof g!="undefined"&&g!=null){a.altitude=parseFloat(g)}else{a.altitude=0}}if(f!=null&&typeof f=="number"){a.zoomLevel=f}if(c==null||typeof c=="undefined"){c=""}var j=null;if(obliqueMode){j=obliqueMode.GetEventInfo()}var i=null;if(d!=null&&d instanceof Msn.VE.MapView){i=d.MakeCopy()}var k=null;if(typeof e!="undefined"&&e!=null){k=e}var l=null;if(typeof h!="undefined"&&h!=null){l=h}return new MapEvent(a,j,c,i,k,n,l)}function CreateCustomEvent(h,b,d){var a=new MapEvent;if(d){a.error=d.error}a.eventName=h;a.zoomLevel=currentView.zoomLevel;a.mapStyle=currentView.mapStyle;if(currentMode!=threeDMode){a.birdseyeSceneID=currentView.sceneId;a.birdseyeSceneOrientation=currentView.sceneOrientation;if(b){a.leftMouseButton=IsLeftMouseButton(b);a.rightMouseButton=IsRightMouseButton(b);a.middleMouseButton=IsMiddleMouseButton(b);a.mouseWheelChange=GetMouseScrollDelta(b);a.screenX=b.screenX;a.screenY=b.screenY;var e=Gimme.Screen.getMousePosition(b);a.clientX=e.x;a.clientY=e.y;var f=g(p_elSource).getPagePosition();a.mapX=a.clientX-f.x;a.mapY=a.clientY-f.y;a.keyCode=b.keyCode;a.altKey=b.altKey;a.ctrlKey=b.ctrlKey;a.shiftKey=b.shiftKey;a.elementID=null;var c=GetTarget(b);while(typeof c!="undefined"&&c!=null){if(typeof c.id!="undefined"&&c.id!=null&&c.id.indexOf(MC_IID_NAMESPACE)==0&&c.tagName!="CANVAS"){a.elementID=c.id;break}else{if(typeof c.className!="undefined"&&c.className!=null&&c.className=="MSVE_MapContainer"){break}else{c=c.parentElement}}}}}else{if(d){if(d.view){a.latLong=d.view.LatLong}else{a.latLong=null}a.elementID=d.elementID;a.leftMouseButton=d.mouseButton=="Left";a.rightMouseButton=d.mouseButton=="Right";a.middleMouseButton=d.mouseButton=="Middle";a.mouseWheelChange=0;a.keyCode=0;a.altKey=false;a.ctrlKey=false;a.shiftKey=false}}return a}function AttachEvent(d,c){var a=defaultEventTable[d];if(!a){a=[];defaultEventTable[d]=a}for(var b=0;b<a.length;b++){if(a[b]==c){return true}}a.push(c)}function DetachEvent(d,c){var a=defaultEventTable[d];if(!a){return }for(var b=0;b<a.length;b++){if(a[b]==c){a.splice(b,1)}}}function AttachCustomEvent(d,c){var a=customEventTable[d];if(!a){a=[];customEventTable[d]=a}for(var b=0;b<a.length;b++){if(a[b]==c){return true}}a.push(c)}function DetachCustomEvent(d,c){var a=customEventTable[d];if(a){for(var b=0;b<a.length;b++){if(a[b]==c){a.splice(b,1)}}}}function IsEventAttached(a){var b=customEventTable[a],c=defaultEventTable[a];return c!=null||b!=null}function Fire(b,a){FireCustomEvent(b,a);FireDefaultEvent(b,a)}function FireDefaultEvent(d,b){var a=defaultEventTable[d];if(!b){b=CreateEvent()}if(a){for(var c=0;c<a.length;c++){a[c](b)}}}var currentShapeID=null;function FireCustomEvent(d,a){var b=false,c=customEventTable[d];if(c){if(a&&a instanceof MapEvent){var f=window.event;a=CreateCustomEvent(d,f,a)}else{a=CreateCustomEvent(d,a,null)}for(var e=0;e<c.length;e++){b=b|c[e](a)}}return b}function DisposeAllCustomEvent(){while(customEventTable.length){var a=customEventTable.pop();while(a.length){a.pop()}a=null}}function DestroyEventTable(){while(defaultEventTable.length){var a=defaultEventTable.pop();while(a.length){a.pop()}a=null}defaultEventTable=null;DisposeAllCustomEvent();customEventTable=null}function KeyDown(c){if(isMinimap){return false}c=GetEvent(c);if(FireCustomEvent("onkeydown",c)){return false}var e=c.ctrlKey?5:1,d=keyboardPanSpeed*e,a=panningX,b=panningY;switch(c.keyCode){case 9:case 17:case 18:if(panning&&keyboardPan){StopContinuousPan()}return true;case 37:a=-d;break;case 38:b=-d;break;case 39:a=d;break;case 40:b=d;break;case 107:case 187:case 61:case 43:a=0;b=0;ZoomIn();break;case 109:case 189:a=0;b=0;ZoomOut();break;case 65:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){a=0;b=0;SetMapStyle(aerialStyle)}break;case 72:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){a=0;b=0;SetMapStyle(hybridStyle)}break;case 82:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Road)){a=0;b=0;SetMapStyle(roadStyle)}break;case 66:if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){if(obliqueMode&&obliqueMode.IsAvailable()){a=0;b=0;SetMapStyle(obliqueHybridStyle)}}break;case 79:if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){if(obliqueMode&&obliqueMode.IsAvailable()){a=0;b=0;SetMapStyle(obliqueStyle)}}break;case 51:case 99:if($MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)){p_this.EnableMode(Msn.VE.MapActionMode.Mode3D)}}if(a||b){ContinuousPan(a,b,null,true)}FireDefaultEvent("onkeydown");return false}function KeyUp(a){a=GetEvent(a);if(FireCustomEvent("onkeyup",a)){return false}var b=panningX,c=panningY,d=true;switch(a.keyCode){case 37:b=0;break;case 38:c=0;break;case 39:b=0;break;case 40:c=0;break;default:d=false}if(d){ContinuousPan(b,c,null,true)}if(FireCustomEvent("onkeypress",a)){return false}}var northLatitude=0,southLatitude=0,westLongitude=0,eastLongitude=0;function AddLine(h,f,g,l,n,m,a,d,i,k,j){if(h==null||f==null||g==null||a==null||d==null){return null}var e=[];for(var b=0;b<a.length;b++){e.push(BuildRegionHeap(a[b],0,a[b].length-1))}var c=new Line;c.Init(h,f,g,l,n,m,e,d,i,k,j);lines.push(c);return c}function RemoveLine(c){for(var a=0;a<lines.length;a++){var b=lines[a];if(b.id==c){lines.splice(a,1);b.Destroy();return }}}function ClearLines(){while(lines.length>0){lines.pop().Destroy()}}function ShowLines(){graphicCanvas.Clear();for(var a=0;a<lines.length;a++){lines[a].StartLine();lines[a].Show()}}function HideLines(){for(var a=0;a<lines.length;a++){lines[a].Hide();lines[a].RemoveFromMap()}}function UpdateLines(){if(typeof graphicCanvas==="object"&&graphicCanvas!==null){graphicCanvas.Clear()}if(!document.all){currentView.GetMap().resetSvgLayer()}for(var a=0;a<lines.length;a++){lines[a].UpdateLine()}}function BuildRegionHeap(f,e,g){var h=g-e+1;if(h<1){return null}else{if(h==1){return f[e]}}var d=null,c=null;if(h==2){d=f[e];c=f[g]}else{var i=Math.round((e+g)/2);d=BuildRegionHeap(f,e,i);c=BuildRegionHeap(f,i+1,g)}if(d!=null&&c!=null){var b=d.boundingRectangle,a=c.boundingRectangle,l=b[0].latitude>a[0].latitude?b[0].latitude:a[0].latitude,k=b[0].longitude>a[0].longitude?b[0].longitude:a[0].longitude,m=b[1].latitude<a[1].latitude?b[1].latitude:a[1].latitude,n=b[1].longitude<a[1].longitude?b[1].longitude:a[1].longitude,j=[new Msn.VE.LatLong(l,k),new Msn.VE.LatLong(m,n)];return new Msn.VE.LineRegion(j,null,[d,c])}else{if(d!=null){return d}else{if(c!=null){return c}}}return null}var IsDrivingEventAttached=false;function Line(){var t=5,v=new Msn.Drawing.Color(0,169,235,0.7),w="Solid",d=new Msn.Drawing.Stroke,H=4,c=null,e="",f=true,A="",i="",r=0,y=0,x=0,B=0,z=0,a=null,b=null,h=null,g=null,I=0,J=0,n=false;function F(m,u,C,c,j,k,p,s,l,f,o){if(!c){c=t}if(!j){j=v}if(!k){k=defaultZIndex}if(!f){f=w}n=o;this.id=m;e=m;if(l){d.linejoin=l}A=c+"pt";i=j;r=k;a=u;b=C;g=s;h=p;y=a[0];x=b[0];B=a[a.length-1];z=b[b.length-1];d.color=i;d.width=c;d.linecap=f;q();if(!IsDrivingEventAttached){AttachEvent("onstartzoom",HideLines);AttachEvent("onchangeview",UpdateLines);IsDrivingEventAttached=true}this._Draw3D();AttachEvent("oninitmode",this._Draw3D)}function E(){if(view3DCreated){spacecontrol.DeleteGeometry(0,e)}DetachEvent("oninitmode",this._Draw3D);m();a=b=h=c=null}this._Draw3D=function(){if(view3DCreated){var c=[];for(var f=0;f<a.length;f++){c.push(b[f]);c.push(",");c.push(a[f]);if(f!=a.length-1){c.push(" ")}}var g=c.join("");spacecontrol.AddPolyline("0",e,g,i.ToHexString(),0.75,d.width)}};function m(){if(graphicCanvas){graphicCanvas.Clear()}}function G(){if(!f){j();return }if(c){c.style.display="block"}}function j(){if(c){c.style.display="none"}}function u(a){f=a;if(!f){j()}}function q(){l();o()}function D(){l();o()}function l(){var a=height<900?900:height,b=width<900?900:width;northLatitude=GetLatitude(-0.5*a);southLatitude=GetLatitude(1.5*a);westLongitude=GetLongitude(-0.5*b);eastLongitude=GetLongitude(1.5*b)}function o(){if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){graphicCanvas.Clear();return }if(view3DCreated){return }var b=[],a=g.length-1;while(g[a]<currentView.zoomLevel&&a>=0){a--}k(h[a],b);C(b)}function k(f,c){if(s(f.boundingRectangle[0],f.boundingRectangle[1])){return }if(f.childRegions!=null){for(var j=0;j<f.childRegions.length;j++){k(f.childRegions[j],c)}}else{var h=f.indices,e=new Msn.VE.LatLong(a[h[0]],b[h[0]]),d,g=false;if(p(e.latitude,e.longitude)){c.push(e.longitude);c.push(e.latitude);g=true}for(var i=1;i<h.length;i++){d=new Msn.VE.LatLong(a[h[i]],b[h[i]]);if(p(d.latitude,d.longitude)){if(!g){c.push(e.longitude);c.push(e.latitude)}g=true;c.push(d.longitude);c.push(d.latitude)}else{if(g){g=false;c.push(d.longitude);c.push(d.latitude)}}e=d}}}function C(g){if(!graphicCanvas){return }var a=new Msn.Drawing.PolyLine(g);a.id=e;var b=VE_LatLongThreshold.UseThreshold;VE_LatLongThreshold.UseThreshold=false;graphicCanvas.SetZIndex(r);graphicCanvas.SetStroke(d);graphicCanvas.DrawPrimitive(a,n);VE_LatLongThreshold.UseThreshold=b;c=$ID(e);if(f){c.style.display="block"}else{c.style.display="none"}}function p(a,b){return a>=southLatitude&&a<=northLatitude&&b>=westLongitude&&b<=eastLongitude}function s(a,b){return a.latitude>northLatitude&&b.latitude>northLatitude||a.latitude<southLatitude&&b.latitude<southLatitude||a.longitude>eastLongitude&&b.longitude>eastLongitude||a.longitude<westLongitude&&b.longitude<westLongitude}this.Init=F;this.Destroy=E;this.RemoveFromMap=m;this.Show=G;this.Hide=j;this.ChangeVisibility=u;this.StartLine=q;this.UpdateLine=D}function Logo(b){var a=null;this.Init=function(){if(navigator.userAgent.toLowerCase().indexOf("msie")!=-1){a=document.createElement("div");a.className="MSVE_PoweredByLogo MSVE_PoweredByLogo_ie";if(Msn.VE.API!=null){a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+"/"+MapControl.Features.Image.PoweredLogo+"', sizingMethod='scale')"}}else{a=document.createElement("img");a.src=this.GetURL();a.className="MSVE_PoweredByLogo"}b.appendChild(a)};this.GetURL=function(){var c=location.pathname.lastIndexOf("/"),d=location.pathname.substring(0,c+1),b="http://"+location.host+d,a="";if(Msn.VE.API!=null){b=Msn.VE.API.Globals.vecurrentdomain+"/";a=Msn.VE.API.Globals.vecurrentversion}else{a=window.buildVersion}return b+"i/bin/"+a+"/"+MapControl.Features.Image.PoweredLogo};this.Destroy=function(){b.removeChild(a);a=null}}var hijackMouseMove=false,hijackMouseCursor=false,isLastButtonMiddle=false;function MouseDown(a){a=GetEvent(a);CancelEvent(a);if(currentMode!=threeDMode&&FireCustomEvent("onmousedown",a)){return false}if(zooming){return false}if(panning){StopContinuousPan()}if(obliqueMode){obliqueMode.CancelRequest()}if(!mouseZoomDisabled){if(a.which&&a.which==2){currentTool=boxTool}else{if(!a.which&&a.button&&a.button==4){currentTool=boxTool}else{if(BingMapsObj.map.mode=="zoom"){currentTool=boxTool}}}}if(!document.all&&!isEnablingDefaultDblClick){isEnablingDefaultDblClick=true}dragging=true;var b=typeof a.which!="undefined"?a.which:a.button;if(!hijackMouseMove&&!hijackMouseCursor&&b==1){p_this.SetCursor(cssCursors.Grabbing)}if(currentTool){currentTool.OnMouseDown(a)}return false}var lastmouseX=0,lastmouseY=0;function MouseMove(a){a=GetEvent(a);var b=Gimme.Screen.getMousePosition(a);lastmouseX=b.x;lastmouseY=b.y;if(currentMode!=threeDMode&&FireCustomEvent("onmousemove",a)){return false}if(hijackMouseMove){a=GetEvent(a);CancelEvent(a);var c=g(p_elSource).getPagePosition();x=c.x;y=c.y;var e=originX+offsetX+lastmouseX-x,f=originY+offsetY+lastmouseY-y,d=CreateEvent(currentMode.PixelToLatLong(new VEPixel(e,f),currentView.zoomLevel));FireDefaultEvent("onmousemove",d);return }if(currentTool&&dragging){currentTool.OnMouseMove(a)}return false}function MouseUp(a){a=GetEvent(a);if(a){isLastButtonMiddle=IsMiddleMouseButton(a)}if(currentMode!=threeDMode&&FireCustomEvent("onmouseup",a)){return false}dragging=false;if(!hijackMouseMove&&!hijackMouseCursor){p_this.SetCursor(cssCursors.Grab)}var b;if(currentTool){if(window.BingMapsSlider){BingMapsSlider.endDrag(a)}b=currentTool.OnMouseUp(a)}if(targetTool&&targetTool.isOutOfBounds()){targetTool.OnMouseUp(a)}var c=true;if(typeof b!="undefined"&&b.view!=null){isEnablingDefaultDblClick=b.view.disableDbClick!=true;c=b.view.disableMapFocus!=true}else{isEnablingDefaultDblClick=true}currentTool=panTool;try{if(c){keyboard.focus()}}catch(d){}return false}function IsOnscreen(c,d){var b=tileSize*Math.pow(2,currentView.zoomLevel),a=originX+offsetX+c-x;if(a<0||a>b){return false}a=originY+offsetY+d-y;if(a<0||a>b){return false}return true}var isEnablingDefaultDblClick=true;function MouseDoubleClick(a){a=GetEvent(a);CancelEvent(a);var b=Gimme.Screen.getMousePosition(a);if(currentMode!=threeDMode&&FireCustomEvent("ondoubleclick",a)){return false}if(hijackMouseMove){return false}if(isEnablingDefaultDblClick){UpdateFromParent();if(panning||zooming||mouseZoomDisabled){return false}if(!IsMapViewOblique()&&!IsOnscreen(b.x,b.y)){return false}var c=preferredView.MakeCopy();c.SetCenter(new VEPixel(originX+offsetX+b.x-x-mapCenterOffset.x,originY+offsetY+b.y-y-mapCenterOffset.y));if(a.ctrlKey|a.altKey){c.SetZoomLevel(currentView.zoomLevel-1)}else{c.SetZoomLevel(currentView.zoomLevel+1)}SetView(c);return false}else{isEnablingDefausltDblClick=true}}function MouseWheel(a){a=GetEvent(a);CancelEvent(a);if(currentMode!=threeDMode&&FireCustomEvent("onmousewheel",a)){return false}if(currentMode!=null&&currentMode==threeDMode){return false}if(panning||zooming||mouseZoomDisabled){return false}var f=GetMouseScrollDelta(a);if(f===0){return false}var g=f>0;if(mousewheelZoomToCenter||IsMapViewOblique()||!IsOnscreen(lastmouseX,lastmouseY)){if(g){ZoomIn()}else{ZoomOut()}}else{var b=g?currentView.zoomLevel+1:currentView.zoomLevel-1;if(b<=GetCurrentViewMaxZoomLevel(currentView)){UpdateFromParent();var h=lastmouseX-x,i=lastmouseY-y,d=originX+offsetX+h,e=originY+offsetY+i,c=preferredView.MakeCopy();d=currentView.ScaleCoord(d,b);e=currentView.ScaleCoord(e,b);c.SetZoomLevel(b);c.SetCenter(new VEPixel(d-h+width/2,e-i+height/2));SetView(c)}}return false}function ContextMenu(a){if(mouseZoomDisabled){return false}a=GetEvent(a);CancelEvent(a);if(currentMode!=threeDMode&&FireCustomEvent("onclick",a)){return false}var e=g(p_elSource).getPagePosition();x=e.x;y=e.y;var c,d,b=Gimme.Screen.getMousePosition(a);if(currentMode==threeDMode){c=b.x-x;d=b.y-y}else{c=originX+offsetX+b.x-x;d=originY+offsetY+b.y-y}var f=currentMode.PixelToLatLong(new VEPixel(c,d),currentView.zoomLevel);if(f!=null){if(currentMode==threeDMode&&Get3DControl().UIHasFocus()){return false}var h=CreateEvent(f);FireDefaultEvent("oncontextmenu",h)}return false}function MouseClick(a){a=GetEvent(a);CancelEvent(a);if(!isLastButtonMiddle){if(currentMode!=threeDMode&&FireCustomEvent("onclick",a)){return false}}}function MouseOut(a){a=GetEvent(a);if(currentMode!=threeDMode&&g(GetTarget(a)).hasClass("MSVE_Shape")&&FireCustomEvent("onmouseout",a)){CancelEvent(a);return false}}function MouseOver(a){a=GetEvent(a);if(currentMode!=threeDMode&&g(GetTarget(a)).hasClass("MSVE_Shape")&&FireCustomEvent("onmouseover",a)){CancelEvent(a);return false}}function MouseEnter(a){a=GetEvent(a);var b=a.relatedTarget||a.fromElement;if(currentMode!=threeDMode&&b!=null&&FireCustomEvent("onmouseover",a)){CancelEvent(a);return false}if(!hijackMouseMove&&!hijackMouseCursor){p_this.SetCursor(cssCursors.Grab)}}function MouseLeave(a){a=GetEvent(a);if(currentMode!=threeDMode&&FireCustomEvent("onmouseout",a)){CancelEvent(a);return false}}var obliqueLoop=0,panningTargetPixel=null,panningCurrentPixel=null;function PanMap(c,d){if(c==0&&d==0||isNaN(c)||isNaN(d)){return false}if(currentMode!=threeDMode){var a=ShiftView(currentView,currentBounds,c,d);if(typeof a!="undefined"&&a!=null){var f=g(map).getComputedPosition(),e=f.x-a.x,h=f.y-a.y;map.style.left=e+"px";map.style.top=h+"px";offsetX=-e;offsetY=-h;var b=new VEPixel(width/2+originX+offsetX,height/2+originY+offsetY);if(keyboardPan&&(c!=0&&a.x==0||d!=0&&a.y==0)){if(typeof currentMode.RequestPending!="undefined"&&!currentMode.RequestPending()){b.x+=c;b.y+=d;var i=PixelToLatLong(b);targetTool.centeringTrigger=true;SetCenter(i.latitude,i.longitude)}}else{currentView.SetCenter(b);preferredView.SetCenter(new VEPixel(b.x,b.y));tileLayerManager.PanView()}Fire("onpan")}}else{return false}if(copyright){copyright.Update()}return true}function ContinuousPan(a,b,c,d){if(zooming){return }if(!c){c=-1}panningX=a;panningY=b;panCounter=c;if(!a&&!b){StopContinuousPan();return }keyboardPan=d;if(view3DCreated){spacecontrol.ContinuousPan(a,b);Fire("onstartpan")}else{if(!panning){panning=true;StepPan();Fire("onstartpan")}}}function StepPan(){if(panning){var a=panningX,b=panningY;if(panningCurrentPixel!=null&&panningTargetPixel!=null){var c=panningTargetPixel.x-panningCurrentPixel.x;if(Math.abs(c)<Math.abs(a)||a==0){a=c}var d=panningTargetPixel.y-panningCurrentPixel.y;if(Math.abs(d)<Math.abs(b)||b==0){b=d}panningCurrentPixel.x+=a;panningCurrentPixel.y+=b}PanMap(a,b);if(panCounter>0){panCounter--}if(panCounter!=0&&(panningCurrentPixel==null||panningTargetPixel==null||panningTargetPixel.x!=panningCurrentPixel.x||panningTargetPixel.y!=panningCurrentPixel.y)){window.setTimeout(StepPan,10)}else{StopContinuousPan()}}}function StopContinuousPan(){panningX=0;panningY=0;panningTargetPixel=null;panningCurrentPixel=null;panning=false;keyboardPan=false;if(currentMode!=threeDMode){if(panLatitude!=null&&panLongitude!=null){var b=new Msn.VE.LatLong(panLatitude,panLongitude),a=LatLongToPixel(b),c=a.x-width/2,d=a.y-height/2;PanMap(c,d);currentView.latlong.latitude=panLatitude;currentView.latlong.longitude=panLongitude;preferredView.Copy(currentView);panLatitude=null;panLongitude=null;if(obliqueMode){obliqueMode.UpdateAvailability()}}else{ComputeCenterPoint(true)}}else{if(view3DCreated){spacecontrol.ContinuousPan(0,0)}}Fire("onendpan");Fire("onchangeview");if(resizeInProgress){resizeInProgress=false}}function PanToLatLong(b,a,c){if(currentMode==threeDMode){SetCenter(b,a)}else{panLatitude=b;panLongitude=a;if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)&&PanInOblique(new Msn.VE.LatLong(b,a),null,c)){}else{PanToPixel(LatLongToPixel(new Msn.VE.LatLong(b,a)),c)}}}function PanByPixel(a,b){a.x=width/2+a.x;a.y=height/2+a.y;PanToPixel(a,b)}function PanToView(a){var b=a.center.x-(originX+offsetX),c=a.center.y-(originY+offsetY);PanToPixel(new VEPixel(b,c))}function PanToPixel(a,e){if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)&&PanInOblique(null,a,e)){return }var b=a.x-width/2,c=a.y-height/2;panningTargetPixel=a;panningCurrentPixel=new VEPixel(width/2,height/2);var d=Math.sqrt(b*b+c*c);if(!e&&(!IsAnimationEnabled()||MathAbs(b)>2*width||MathAbs(c)>2*height||d>1.5*Math.sqrt(width*width+height*height))){var h=preferredView.MakeCopy(),j=a.x+(originX+offsetX),k=a.y+(originY+offsetY);h.SetCenter(new VEPixel(j,k));SetView(h);if(resizeInProgress){resizeInProgress=false}return }var f=Math.atan2(c,b),i=MathCeil(d/panToLatLongSpeed),g=MathRound(d/i);b=MathRound(Math.cos(f)*g);c=MathRound(Math.sin(f)*g);ContinuousPan(b,c)}function PanInOblique(a,d){obliqueLoop++;if(obliqueLoop>30){obliqueLoop=0;return false}var c=obliqueMode.GetScene();if(!a){a=PixelToLatLong(d)}if(!c||!c.ContainsLatLong(a,currentView.zoomLevel)){var b=preferredView.MakeCopy();b.sceneId=null;b.SetCenterLatLong(a);SetView(b);if(resizeInProgress){resizeInProgress=false}return true}else{return false}}function PushPinOffset(a,b){this.x=a;this.y=b}function getPushPinOffset(c){var a=Msn.VE.PushPinTypes,b;switch(c){case a.Annotation:b=new PushPinOffset(-2,-29/2-5);break;case a.Overlay:case a.SearchResultPrecise:case a.SearchResultNonprecise:case a.Collection:case a.AdSponsor:b=new PushPinOffset(0,-29/2+3);break;case a.Direction:b=new PushPinOffset(-3,-26/2-3);break;case a.DirectionTemp:b=new PushPinOffset(2,-26/2+3);break;case a.TrafficLight:b=new PushPinOffset(0,-26/2);break;case a.TrafficOthers:b=new PushPinOffset(0,-29/2);break;case a.YouAreHere:b=new PushPinOffset(0,-26/2);break;case a.AdStandard:b=new PushPinOffset(0,-42/2+2);break;case a.AdWide:b=new PushPinOffset(0,-27/2);break;case a.AdCategory:b=new PushPinOffset(0,-16/2);break;case a.Default:default:b=new PushPinOffset(0,0)}return b}function GetPushpins(){return pushpins}function AddPushpin(m,k,l,j,h,e,f,i,g,b,c,d){var a=new Pushpin;a.Init(m,k,l,j,h,e,f,i,g,d);if(typeof b=="undefined"||b==false||b==null){if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(!(typeof c!="undefined"&&c==false)){View3DAddPushpin(a)}map.appendChild(a.pin);a.Hide()}else{map.appendChild(a.pin)}pushpins.push(a)}return a.pin}function GetPushpinIndex(b){for(var a=0;a<pushpins.length;a++){if(pushpins[a].id==b){return a}}return -1}function RemovePushpin(b){var a=GetPushpinIndex(b);if(a>=0){var c=pushpins[a];pushpins.splice(a,1);if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){View3DRemovePushpin(b)}c.Destroy()}}function ClearPushpins(){while(pushpins.length>0){var a=pushpins.pop();if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){View3DRemovePushpin(a.id)}a.Destroy()}}function Relay3DPushpins(){for(var b=0;b<pushpins.length;b++){var a=pushpins[b];if(a.id&&a.id.constructor==String&&a.id.indexOf("Layer")==-1){View3DAddPushpin(a)}}}function NeedToPlaceAccurately(a){switch(a.pinType){case Msn.VE.PushPinTypes.SearchResultPrecise:case Msn.VE.PushPinTypes.AdStandard:case Msn.VE.PushPinTypes.AdCategory:case Msn.VE.PushPinTypes.AdWide:case Msn.VE.PushPinTypes.AdSponsor:return true;default:return false}}function _RepositionPushpins(){for(var a=0;a<pushpins.length;a++){pushpins[a].pin.style.display="";pushpins[a].Reposition()}}function RepositionPushpins(){var d=[],h,i=function(b){if(currentMode!=obliqueMode||null==currentMode.GetScene()||h!=currentMode.GetScene().GetID()){return }if(b){for(var a=0;a<d.length;a++){var c=GetPushpinIndex(d[a]);if(c>=0){if(b[a]){pushpins[c].SetAccuratePixel(b[a])}}}}_RepositionPushpins()};if(pushpins&&pushpins.length>0){if(null==Msn.VE.API&&currentMode==obliqueMode){var c=currentMode.GetScene(),f=[],a=0;if(c){h=c.GetID();for(var e=0;e<pushpins.length;e++){var b=pushpins[e],g=new Msn.VE.LatLong(b.GetLatitude(),b.GetLongitude());if(NeedToPlaceAccurately(b)&&c.ContainsLatLong(g)){f[a]=g;d[a]=b.id;a++}}if(a>0){currentMode.LatLongToPixelAsync(f,currentView.GetZoomLevel(),i);return }}}_RepositionPushpins()}}function HidePins(){for(var a=0;a<pushpins.length;a++){pushpins[a].Hide()}}function UnHidePins(){for(var a=0;a<pushpins.length;a++){pushpins[a].UnHide()}}function GetPushpinPixel(b,c,d,e){var a=currentMode.LatLongToPixel(b,c);if(a){a.x=MathRound(a.x-d);a.y=MathRound(a.y-e)}return a}function GetPushpinMapPixel(a,b){return GetPushpinPixel(a,b,originX,originY)}function Pushpin(){var a=this;this.visible=true;this.pin=document.createElement("a");this.img=document.createElement("img");this.img.className="VE_PushpinImage";this.pin.href="javascript://pushin hover";this.pin.onclick=function(){return ParseShiftKeyForLinks(event)};this.pin.vePushpin=this;this.x1=0;this.y1=0;this.x2=0;this.y2=0;this.center=null;this.w=0;this.h=0;this.n=zoomTotalSteps+1;this.xs=new Array(this.n);this.ys=new Array(this.n);this.Offset=0;this.beLatLongOffset=null;this.Destroy=function(){a.RemoveFromMap();a.pin.onclick=null;a.pin.vePushpin=null;a.pin=null;while(a.xs.length>0){a.xs.pop()}while(a.ys.length>0){a.ys.pop()}a=null}}Pushpin.prototype.Init=function(i,g,h,f,e,c,d,j,a,b){this.id=i;this.lat=g;this.lon=h;this.width=f;this.height=e;this.className=c;this.innerHtml=d;this.zIndex=j;this.pinType=a;this.pin.id=i;this.pin.className=c;this.pin.style.position="absolute";this.pin.innerHTML=d;this.pin.pinType=a||Msn.VE.PushPinTypes.Default;this.Offset=getPushPinOffset(this.pin.pinType);if(a==Msn.VE.PushPinTypes.SearchResultPrecise){this.img.src=GetUrlPrefix()+"i/bin/"+window.buildVersion+"/pins/poi_search.gif";this.pin.appendChild(this.img)}else{if(a==Msn.VE.PushPinTypes.SearchResultNonprecise){this.img.src=GetUrlPrefix()+"i/bin/"+window.buildVersion+"/pins/poi_search_nonprecise.gif";this.pin.appendChild(this.img)}else{if(a==Msn.VE.PushPinTypes.AdSponsor){this.img.src=GetUrlPrefix()+"i/bin/"+window.buildVersion+"/pins/poi_search.gif";this.pin.appendChild(this.img)}}}this.pin.unselectable="on";this.center=new Msn.VE.LatLong(g,h);this.w=f;this.h=e;if(b){this.SetAccuratePixel(b)}var k=this.LatLongToPixelWithAccuracyOffset(currentView.zoomLevel,originX,originY);this.SetPixelLocation(k)};Pushpin.prototype.SetAccuratePixel=function(b){var a=currentMode.PixelToLatLong(b,currentView.zoomLevel);this.beLatLongOffset=new Msn.VE.LatLong(a.latitude-this.center.latitude,a.longitude-this.center.longitude)};Pushpin.prototype.LatLongToPixelWithAccuracyOffset=function(b,c,d){var a=this.center;if(this.beLatLongOffset&&IsMapViewOblique()){a=new Msn.VE.LatLong(this.center.latitude+this.beLatLongOffset.latitude,this.center.longitude+this.beLatLongOffset.longitude)}return GetPushpinPixel(a,b,c,d)};Pushpin.prototype.GetLatitude=function(){return this.center.latitude};Pushpin.prototype.GetLongitude=function(){return this.center.longitude};Pushpin.prototype.ClearSteps=function(){var b=zoomTotalSteps;for(var a=0;a<=b;a++){this.xs[a]=this.x1-this.w/2+this.Offset.x+"px";this.ys[a]=this.y1-this.h/2+this.Offset.y+"px"}};Pushpin.prototype.PrecomputeSteps=function(){var d=zoomTotalSteps;for(var a=0;a<=d;a++){var b=a/d,c=1-b;this.xs[a]=MathFloor(c*this.x1+b*this.x2-this.w/2+this.Offset.x)+"px";this.ys[a]=MathFloor(c*this.y1+b*this.y2-this.h/2+this.Offset.y)+"px"}};Pushpin.prototype.SetFactor=function(a){this.pin.style.left=this.xs[a];this.pin.style.top=this.ys[a]};Pushpin.prototype.SetPixelLocation=function(a){if(a&&this.visible){this.x1=a.x;this.y1=a.y;this.x2=this.x1;this.y2=this.y1;this.PrecomputeSteps();this.SetFactor(0);this.pin.style.display="block"}else{this.pin.style.display="none"}};Pushpin.prototype.SwapStates=function(){var a=0;a=this.x1;this.x1=this.x2;this.x2=a;a=this.y1;this.y1=this.y2;this.y2=a};Pushpin.prototype.Reposition=function(){var a=this.LatLongToPixelWithAccuracyOffset(currentView.zoomLevel,originX,originY);if(a){this.x1=a.x;this.y1=a.y;this.ClearSteps();this.SetFactor(0);if(this.pin.style.display!="none"&&this.visible){this.pin.style.display="block"}}else{this.pin.style.display="none"}};Pushpin.prototype.UnHide=function(){if(!this.visible){this.pin.style.display="block";this.visible=true}};Pushpin.prototype.Hide=function(){if(this.visible){this.pin.style.display="none";this.visible=false}};Pushpin.prototype.UnHide3D=function(){if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){View3DAddPushpin(this)}};Pushpin.prototype.Hide3D=function(){if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){View3DRemovePushpin(this.id)}};Pushpin.prototype.PrepareForZoom=function(b,c,d){this.x1-=offsetX;this.y1-=offsetY;var a=this.LatLongToPixelWithAccuracyOffset(d,b,c);if(a){this.x2=a.x;this.y2=a.y;this.PrecomputeSteps();if(this.pin.style.display!="none"&&this.visible){this.pin.style.display="block"}}else{this.pin.style.display="none"}};Pushpin.prototype.RemoveFromMap=function(){if(this.pin.parentNode==map){map.removeChild(this.pin)}};Pushpin.prototype.Move=function(a){this.MoveToLatLon(PixelToLatLong(a))};Pushpin.prototype.MoveToLatLon=function(a){this.center=a;this.Reposition()};function ScaleBar(c){var e=null,j=null,a=g(document.createElement("div")),b=g(document.createElement("div")),m=false,d=document.createElement("div"),f=document.createElement("div"),i=150;this.Init=function(){a.addClass("MSVE_ScaleBarLabel MSVE_ScaleBarLabelBg");b.addClass("MSVE_ScaleBarLabel MSVE_ScaleBarLabelFg");d.className="MSVE_ScaleBar MSVE_ScaleBarBg";f.className="MSVE_ScaleBar MSVE_ScaleBarFg";n();k()};this.Show=function(){c.appendChild(a.element());c.appendChild(b.element());c.appendChild(d);c.appendChild(f)};this.Hide=function(){try{c.removeChild(a.element());c.removeChild(b.element());c.removeChild(d);c.removeChild(f)}catch(e){}};this.Destroy=function(){this.Hide();e=null;a=b=d=BarFg=null};function k(){var c=0;if(e&&e.style.display!=="none"){var i=parseInt(g(e).getStyle("height")),h=parseInt(e.style.bottom);c+=(isNaN(i)?0:i)+(isNaN(h)?0:h)}if(a){a.setStyle("bottom",c+"px");b.setStyle("bottom",1+c+"px")}if(d){d.style.bottom=c+"px";f.style.bottom=1+c+"px"}}function o(a){return a*0.001}function q(a){return a*0.000621371192}function r(a){return a*1.0936133}function t(a){i=a}function p(a){j=a}function n(){try{var f=GetMetersPerPixel(),c=f*i,e;if(j==null){e=$MVEM.IsEnabled(MapControl.Features.ScaleBarKilometers)}else{e=j==Msn.VE.DistanceUnit.Kilometers}if(e){var d=L_ScaleBarKilometers_Text,b=o(c),a=h(b);if(a<0.5){d=L_ScaleBarMeters_Text;b=c;a=h(b)}l("metric",d,a,Math.round(a/b*i))}else{var d=L_ScaleBarMiles_Text,b=q(c),a=h(b);if(a<0.5){d=L_ScaleBarYards_Text;b=r(c);a=h(b)}l("us",d,a,Math.round(a/b*i))}}catch(g){}}function h(d){var g=Math.log(d)/Math.log(10),e=Math.floor(g),a=Math.pow(10,e),c=d/a,b=Math.floor(c);if(b>=3){return b*a}var f=Math.floor(c*2)*0.5;return f*a}function l(j,i,c,g){if(c<1){c=c.toFixed(1)}var e=GetMapStyle()!=roadStyle;if(e!=m){if(e){a.swapClass("MSVE_ScaleBarLabelBg","MSVE_ScaleBarLabelBgInv");b.swapClass("MSVE_ScaleBarLabelFg","MSVE_ScaleBarLabelFgInv")}else{a.swapClass("MSVE_ScaleBarLabelBgInv","MSVE_ScaleBarLabelBg");b.swapClass("MSVE_ScaleBarLabelFgInv","MSVE_ScaleBarLabelFg")}m=e}var h=c+" "+i;a.setHTML(h);b.setHTML(h);d.style.width=4+g+"px";f.style.width=g+"px"}function s(a){e=a;k()}this.SetBarWidth=t;this.SetDistanceUnit=p;this.Update=n;this.Reposition=k;this.SetPinElement=s}function MapLegend(h){var q=this,g=h,a=null,e=null,b=null,d=null,c=null;h=null;this.Init=function(){a=document.createElement("div");a.id="MSVE_MapLegend";a.style.display="none";g.appendChild(a);e=document.createElement("div");e.className="MSVE_LegendGroup";a.appendChild(e);a.attachEvent("onmousedown",IgnoreEvent);a.attachEvent("onmouseup",IgnoreEvent);a.attachEvent("onmousemove",IgnoreEvent);a.attachEvent("onmousewheel",IgnoreEvent);a.attachEvent("ondblclick",IgnoreEvent);a.attachEvent("oncontextmenu",IgnoreEvent);a.attachEvent("onkeydown",IgnoreEvent);a.attachEvent("onkeyup",IgnoreEvent)};this.Destroy=function(){if(a){a.detachEvent("onmousedown",IgnoreEvent);a.detachEvent("onmouseup",IgnoreEvent);a.detachEvent("onmousemove",IgnoreEvent);a.detachEvent("onmousewheel",IgnoreEvent);a.detachEvent("ondblclick",IgnoreEvent);a.detachEvent("oncontextmenu",IgnoreEvent);a.detachEvent("onkeydown",IgnoreEvent);a.detachEvent("onkeyup",IgnoreEvent);g.removeChild(a);a=null}g=null;e=null;d=null;c=null};function k(d){if(d&&!b){i()}a.style.display=d?"":"none";if(c){window.setTimeout(c.Reposition,1)}f()}function i(){if(e&&!b){b=document.createElement("div");b.className="MSVE_LegendGroup";b.id="MSVE_TrafficLegend";e.appendChild(b);var a=document.createElement("span");a.id="MSVE_TL_Slow";a.appendChild(document.createTextNode(L_MapLegendTrafficSlow_Text));b.appendChild(a);a=document.createElement("span");a.id="MSVE_TL_Fast";a.appendChild(document.createTextNode(L_MapLegendTrafficFast_Text));b.appendChild(a);a=document.createElement("img");a.id="MSVE_TL_Key";var c=GetUrlPrefix(),f=window.buildVersion;if(Msn.VE.API!=null){c=Msn.VE.API.Globals.vecurrentdomain+"/";f=Msn.VE.API.Globals.vecurrentversion}a.src=c+"i/bin/"+f+"/traffic/tf_legend.gif";a.alt="";b.appendChild(a);d=document.createElement("div");d.className="MSVE_LegendGroup";d.id="MSVE_TrafficMsg";e.appendChild(d)}}function l(a){while(a.hasChildNodes()){a.removeChild(a.childNodes[0])}}function j(a){if(d){l(d);d.appendChild(document.createTextNode(a));f()}}function o(b){c=b;if(c){c.SetPinElement(a)}}function p(){if(c){c.SetPinElement(null);c=null}}function n(b,c){if(a){a.style.left=b+"px";a.style.top=c+"px";a.style.bottom="auto";a.style.right="auto";f()}}function f(){if(a){mvcViewFacade.UpdateShimIfSupported(a)}}function m(){if(a){destroyIFrameShim(a.id)}}this.ShowTrafficLegend=k;this.SetTrafficLegendMsg=j;this.UnPin=p;this.PinTo=o;this.MoveTo=n;this.UpdateShim=f;this.RemoveShim=m}var totalRequestTime=0,totalRequestCount=0,totalFailureCount=0,responseRangeCeilings=[];responseRangeCeilings[roadStyle]=[325,975];responseRangeCeilings[shadedStyle]=responseRangeCeilings[roadStyle];responseRangeCeilings[aerialStyle]=[350,1050];responseRangeCeilings[hybridStyle]=[425,1275];responseRangeCeilings[obliqueStyle]=[450,1350];responseRangeCeilings[obliqueHybridStyle]=responseRangeCeilings[obliqueStyle];var responseRangeCounts=[0,0,0];function RequestTile(b,c,i,h,d,g,e,f){var a=new Tile;a.Init(b,c,i,h,b*tileSize-originX,c*tileSize-originY,d,g,e,f);return a}function ClearTiles(a){while(a.length>0){var b=a.pop();b.Destroy();b=null}}function GetResponseRangeCounts(){var b=0;for(var a=0;a<responseRangeCounts.length;a++){b+=responseRangeCounts[a]}if(b==0){return responseRangeCounts}var c=new Array(responseRangeCounts.length);for(var a=0;a<responseRangeCounts.length;a++){c[a]=responseRangeCounts[a]/b}return c}function ResetResponseRangeCounts(){for(var a=0;a<responseRangeCounts.length;a++){responseRangeCounts[a]=0}}function GetFailureRate(){return totalFailureCount/totalRequestCount}function Tile(){var a=null,b=null,c=null,i=null,D=null,e=null,p=0,q=0,v=0,B=0,f=0,d=1,x=zoomTotalSteps+1,m=new Array(x),o=new Array(x),u=new Array(x),s=new Array(x),A=false,g=0,h=0,k=0,j=0,l=0,n=0,t=0,r=0,z=null,C=0;this.Init=function(k,l,m,j,c,e,g,a,h,i){p=k;q=l;v=m;B=j;f=i;d=h;if(!currentMode.IsValidTile(p,q,v)){return }y(c,e,tileSize,tileSize);I(c,e,tileSize,tileSize);w();if(a==mapTiles||a==trafficTiles){C=0}else{C=1}b=document.createElement("img");b.className="MSVE_ImageTile";if(a!=null){b.className+=" msve_"+a+"_tile"}b.onload=T;b.onerror=S;z=new Date;D=currentMode.GetFilename(p,q,v,g,a);b.src=D};function H(){if(!e&&a!=null){e=graphicCanvas.AddPrintTile(D,q*tileSize-originY,p*tileSize-originX,tileSize,tileSize,d,f)}}this.AddPrintTile=H;function O(){if(e){graphicCanvas.RemovePrintTile(e);e=null}}this.RemovePrintTile=O;function L(){if(e){graphicCanvas.RePositionPrintTile(e,q*tileSize-originY,p*tileSize-originX)}}this.RePositionPrintTile=L;this.Destroy=function(){if(a){a.onmousedown=null}G();while(m.length>0){m.pop()}while(o.length>0){o.pop()}while(u.length>0){u.pop()}while(s.length>0){s.pop()}m=o=u=s=null};function y(c,d,b,a){g=c;h=d;k=b;j=a}this.SetCurrentState=y;function I(c,d,b,a){l=c;n=d;t=b;r=a}this.SetNextState=I;function Q(){for(var a=0;a<=zoomTotalSteps;a++){m[a]=g+"px";o[a]=h+"px";u[a]=k+"px";s[a]=j+"px"}}this.ClearSteps=Q;function w(){for(var a=0;a<=zoomTotalSteps;a++){var b=a/zoomTotalSteps,c=1-b;m[a]=MathFloor(c*g+b*l)+"px";o[a]=MathFloor(c*h+b*n)+"px";u[a]=MathCeil(c*k+b*t)+"px";s[a]=MathCeil(c*j+b*r)+"px"}}this.PrecomputeSteps=w;function K(e){if(a==null||zooming&&!A){return }var b=a.style;b.left=m[e];b.top=o[e];b.width=u[e];b.height=s[e];if(debug&&e==0){if(!c){F()}var g=c.style;b.border="1px dashed red";g.left=m[e];g.top=o[e]}if(a.parentNode!=map){b.position="absolute";b.zIndex=f;if(C>0){if(b&&typeof b.filter!="undefined"){if(Msn.VE.Environment.BrowserInfo.MajorVersion<=6){if(!i){i=document.createElement("div");i.className="MSVE_ImageTile";var b=i.style;b.left=m[e];b.top=o[e];b.width=u[e];b.height=s[e];b.position="absolute";b.zIndex=f;if(d!=1){b.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a.src+"',sizingMethod='scale'), alpha(opacity="+d*100+")"}else{b.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+a.src+"',sizingMethod='scale')"}map.appendChild(i)}}else{b.zIndex=f;if(d<1){b.filter="alpha(opacity="+d*100+");opacity:"+d+";"}map.appendChild(a)}}else{b.zIndex=f;b.opacity=d;map.appendChild(a)}}else{if(b&&typeof b.filter!="undefined"){if(d<1){b.filter="alpha(opacity="+d*100+");opacity:"+d}}else{b.opacity=d}map.appendChild(a)}if(debug&&c&&c.parentNode!=map){var h=a.src;c.innerHTML=h.substring(h.lastIndexOf("/")+1,h.lastIndexOf("."));g.position="absolute";g.zIndex=f+1;map.appendChild(c)}}}this.SetFactor=K;function J(){var a=0;a=g;g=l;l=a;a=h;h=n;n=a;a=k;k=t;t=a;a=j;j=r;r=a}this.SwapStates=J;function G(){if(b){b.onload=null;b.onerror=null;b=null}if(a){if(a.parentNode==map){map.removeChild(a)}a=null}if(c){if(c.parentNode==map){map.removeChild(c)}c=null}if(i){if(i.parentNode==map){map.removeChild(i)}i=null}if(e){graphicCanvas.RemovePrintTile(e);e=null}}this.RemoveFromMap=G;function T(){if(currentView&&v!=currentView.zoomLevel||b==null){return }var d=new Date,c=d.getTime()-z.getTime();E(c);totalRequestTime+=c;totalRequestCount++;if(debug){window.status="last="+c+", average="+totalRequestTime/totalRequestCount}b.onload=null;b.onerror=null;a=b;a.onmousedown=function(){return false};b=null;if(!zooming){K(zoomCounter)}if(graphicCanvas&&graphicCanvas._printable){H()}}function S(){if(v!=currentView.zoomLevel||b==null){return }var c=new Date,a=c.getTime()-z.getTime();E(a);totalRequestTime+=a;totalRequestCount++;totalFailureCount++;b.onload=null;b.onerror=null;b=null}function E(b){for(var a=0;a<responseRangeCeilings[B].length;a++){if(b<responseRangeCeilings[B][a]){responseRangeCounts[a]++;return }}responseRangeCounts[responseRangeCounts.length-1]++}function M(e,i,p,c,d,o){y(g-offsetX,h-offsetY,k,j);var m=o-p,b=Math.pow(2,m);l=MathFloor((e+g)*b-c);n=MathFloor((i+h)*b-d);t=MathCeil((e+g+k)*b-c)-l;r=MathCeil((i+h+j)*b-d)-n;A=true;w();f=baseZIndex;if(a!=null){a.style.zIndex=f}}this.PrepareBaseTile=M;function N(i,m,s,d,e,o){var u=s-o,a=Math.pow(2,u);l=MathFloor((d+g)*a-i);n=MathFloor((e+h)*a-m);t=MathCeil((d+g+k)*a-i)-l;r=MathCeil((e+h+j)*a-m)-n;var c=MathCeil(tileViewportWidth*0.25),b=MathCeil(tileViewportHeight*0.25);A=o<s&&(p<tileViewportX1+c||p>tileViewportX2-c||q<tileViewportY1+b||q>tileViewportY2-b);J();w();f=swapZIndex}this.PrepareSwapTile=N;function R(b){if(!c){F()}if(a!=null){a.style.border=b?"1px dashed red":"0px"}c.style.display=b?"block":"none"}this.Debug=R;function P(){t=k;r=j}this.ClearStates=P;function F(){c=document.createElement("div");c.style.font="7pt Verdana, sans-serif";c.style.color="Red";c.style.backgroundColor="White"}}var tileMarket=Msn.VE.API?Msn.VE.API.Globals.locale:window.locale,orthoTileSpec=new VETileSourceSpecification;orthoTileSpec.Subdomains=[[0,2,4,6],[1,3,5,7]];if(orthoTileSpec.Subdomains!=null){orthoTileSpec.SubdomainsMaxX=orthoTileSpec.Subdomains.length;orthoTileSpec.SubdomainsMaxY=orthoTileSpec.Subdomains[0].length}orthoTileSpec.ID=mapTiles;orthoTileSpec.SourceName=Msn.VE.API?Msn.VE.API.Constants.orthotileserver:"%0ecn.t%2.tiles.virtualearth.net/tiles/%3%4.%5?g=%6&mkt={21}";orthoTileSpec.SourceName=orthoTileSpec.SourceName.replace(/\{21\}/g,tileMarket);orthoTileSpec.OriginSourceName=Msn.VE.API&&p_htParams.useOriginTiles?Msn.VE.API.Constants.orthoorigintileserver.replace(/\{21\}/g,tileMarket):"";orthoTileSpec.NumServers=4;var shadedTileSpec=new VETileSourceSpecification;shadedTileSpec.Subdomains=[[0,2,4,6],[1,3,5,7]];if(shadedTileSpec.Subdomains!=null){shadedTileSpec.SubdomainsMaxX=shadedTileSpec.Subdomains.length;shadedTileSpec.SubdomainsMaxY=shadedTileSpec.Subdomains[0].length}shadedTileSpec.ID=mapTiles;shadedTileSpec.SourceName=Msn.VE.API?Msn.VE.API.Constants.shadedtileserver:"%0ecn.t%2.tiles.virtualearth.net/tiles/%3%4.%5?g=%6&mkt={21}&shading=hill";shadedTileSpec.SourceName=shadedTileSpec.SourceName.replace(/%1/g,"r").replace(/%3/g,"r").replace(/%5/g,"png").replace(/%6/g,generations.r).replace(/\{21\}/g,tileMarket);shadedTileSpec.OriginSourceName=Msn.VE.API&&p_htParams.useOriginTiles?Msn.VE.API.Constants.shadedorigintileserver.replace(/%1/g,"r").replace(/%3/g,"r").replace(/%5/g,"png").replace(/%6/g,generations.r).replace(/\{21\}/g,tileMarket):"";shadedTileSpec.NumServers=4;function SetBaseTileSource(a){if(!a){a=currentView}var c=a&&shadedTileSpec&&shadedTileSpec.SourceName&&(a.mapStyle==Msn.VE.MapStyle.Road&&$MVEM.IsEnabled(MapControl.Features.MapStyle.Shaded)&&currentView.doRoadShading)||a.mapStyle==Msn.VE.MapStyle.Shaded,b=c?shadedTileSpec:orthoTileSpec;b.LoadTiles=loadBaseTiles;tileLayerManager.AddTileSource(b)}function SetView(a){if(currentMode!=null&&currentMode==threeDMode){return SetView3DSpecialized(a)}if(a==null){return CreateNewView()}if(zooming||dragging){return true}if(panning){StopContinuousPan()}var b=a.latlong;if(a.GetViewType()==Msn.VE.MapViewType.LatLongRect){b=a.latlongRect.Center()}if(Msn.VE.MapStyle.IsViewOblique(a.mapStyle)){return SetViewOblique(a,b)}else{return SetViewOrtho(a,b)}}function SetView3DSpecialized(a){var b=false;if(a==null){a=new Msn.VE.MapView;a.Copy(currentView);b=true}if(!view3DCreated){b=true}return SetView3D(a,b)}function SetViewOblique(a,c){if(obliqueMode==null){return true}preferredView.Copy(a);currentMode=obliqueMode;if(Msn.VE.API){p_elSource.style.background='#000 url("'+Msn.VE.API.Globals.vecurrentdomain+"/i/bin/"+Msn.VE.API.Globals.vecurrentversion+'/oblique/oblique_bg.gif") repeat'}else{p_elSource.style.background='#000 url("./i/bin/'+window.buildVersion+'/oblique/oblique_bg.gif") repeat'}function b(){var b=HandleSetViewObliqueResolve(a,c,preferredView);if(!b&&typeof a.callback=="function"){a.callback(obliqueMode.GetScene())}}a.Resolve(currentMode,width,height,b)}function HandleSetViewObliqueResolve(a,c,i){if(targetTool.centeringTrigger){targetTool.centeringTrigger=false;obliqueMode.RequestSceneAtLatLong(c,a.sceneOrientation,true,null,null,null,null,a.mapStyle);return true}var b=obliqueMode.GetScene(),e=b&&b.ContainsLatLong(c,a.zoomLevel);if(a.bySceneId){if(!b||b.GetID()!=a.sceneId){obliqueMode.RequestScene(a.sceneId);return true}else{if(!e){var l=b.GetBounds();a.SetCenterLatLong(b.PixelToLatLong(new VEPixel(b.GetWidth()/4,b.GetHeight()/4),1));a.Resolve(currentMode,width,height);e=true}}}else{if(!b||!e||b.GetOrientation()!=a.sceneOrientation||b.GetMapStyle()!=a.mapStyle){obliqueMode.RequestSceneAtLatLong(c,a.sceneOrientation,true,null,a.callback,a.spinDirection,a.preserveScene,a.mapStyle);return true}}c=a.latlong;i.Copy(a);SetBaseTileSource(a);currentMode.ValidateZoomLevel(a);currentBounds=currentMode.GetBounds(a);ClipView(a,currentBounds);if(a.Equals(currentView)&&!resizeInProgress){return false}var g=a.GetX(currentView.zoomLevel)-currentView.center.x,h=a.GetY(currentView.zoomLevel)-currentView.center.y,d=Math.sqrt(g*g+h*h);previousCenter=currentView.latlong;var f=0;if(!previousCenter.Equals(a.latlong)){f+=Msn.VE.ViewChangeType.Pan}if(currentView.zoomLevel!=a.zoomLevel){f+=Msn.VE.ViewChangeType.Zoom}SetLastViewChangeType(f);var k=d<width&&d<height&&a.zoomLevel==currentView.zoomLevel&&IsAnimationEnabled()&&a.mapStyle==currentView.mapStyle&&(a.sceneId==null||a.sceneId==currentView.sceneId);if(k){PanToPixel(new VEPixel(a.center.x-originX-offsetX,a.center.y-originY-offsetY),true);return false}previousZoomLevel=currentView.zoomLevel;if(currentView.zoomLevel!=a.zoomLevel){Fire("onstartzoom",CreateEvent(null,null,null,a));zooming=true}var j=d<width&&d<height&&(a.zoomLevel==currentView.zoomLevel-1||a.zoomLevel==currentView.zoomLevel+1)&&IsAnimationEnabled()&&a.mapStyle==currentView.mapStyle&&(a.sceneId==null||a.sceneId==currentView.sceneId);if(j){tileLayerManager.zoomView(a);return false}UpdateTiles(a);return false}function SetViewOrtho(a,f){currentMode=orthoMode;p_elSource.style.backgroundImage="none";if(a.mapStyle==Msn.VE.MapStyle.Road||a.mapStyle==Msn.VE.MapStyle.Shaded){p_elSource.style.backgroundColor="#e9e7d4"}else{p_elSource.style.backgroundColor="black"}a.Resolve(currentMode,width,height);f=a.latlong;preferredView.Copy(a);SetBaseTileSource(a);currentMode.ValidateZoomLevel(a);currentBounds=currentMode.GetBounds(a);ClipView(a,currentBounds);a.Resolve(currentMode,width,height);if(a.Equals(currentView)&&!resizeInProgress){return false}if(!currentView.center){currentView.center=a.center}var d=a.GetX(currentView.zoomLevel)-currentView.center.x,e=a.GetY(currentView.zoomLevel)-currentView.center.y,b=Math.sqrt(d*d+e*e);previousCenter=currentView.GetCenterLatLong();var c=0;if(!previousCenter.Equals(a.GetCenterLatLong())){c+=Msn.VE.ViewChangeType.Pan}if(currentView.zoomLevel!=a.zoomLevel){c+=Msn.VE.ViewChangeType.Zoom}SetLastViewChangeType(c);var h=b<width&&b<height&&a.zoomLevel==currentView.zoomLevel&&IsAnimationEnabled()&&a.mapStyle==currentView.mapStyle&&(a.sceneId==null||a.sceneId==currentView.sceneId);if(h){PanToLatLong(a.latlong.latitude,a.latlong.longitude,true);return true}previousZoomLevel=currentView.zoomLevel;if(currentView.zoomLevel!=a.zoomLevel){Fire("onstartzoom",CreateEvent(null,null,null,a));zooming=true}var g=b<width&&b<height&&(a.zoomLevel==currentView.zoomLevel-1||a.zoomLevel==currentView.zoomLevel+1)&&IsAnimationEnabled()&&a.mapStyle==currentView.mapStyle&&(a.sceneId==null||a.sceneId==currentView.sceneId);if(g){tileLayerManager.zoomView(a);return true}UpdateTiles(a);return true}function CreateNewView(){var a=new Msn.VE.MapView;a.Copy(currentView);a.SetAltitude(-1000);a.SetTilt(-90);a.SetDirection(0);var b=a.latlong,c=ClipLatitude(b.latitude);if(b.latitude!=c){a.SetCenterLatLong(new Msn.VE.LatLong(c,b.longitude));a.Resolve(currentMode,width,height)}if(Msn.VE.MapStyle.IsViewOblique(a.mapStyle)){currentMode=obliqueMode}else{currentMode=orthoMode}SetBaseTileSource(a);currentMode.ValidateZoomLevel(a);UpdateTiles(a);return true}function UpdateTiles(a){currentView.Destroy();currentView=a;tileLayerManager.SetViewPort();tileLayerManager.LoadBaseLayer("Road",mapTiles,1,1);tileLayerManager.RefreshTileLayers();tileLayerManager.FinalizeView();RepositionPushpins()}function SetLastViewChangeType(a){if(Msn.VE.ViewChangeType.IsValid(a)){lastViewChangeType=a}}_VERegisterNamespaces("Msn.VE.Geometry");Msn.VE.Geometry.Point=function(c,d){var a=this,b=Msn.VE.Geometry;this.x=c;this.y=d;this.add=function(c,d){var e=new b.Point(a.x+c,a.y+d);return e};this.getDistanceFrom=function(b){var c=Math.pow(b.x-a.x,2)+Math.pow(b.y-a.y,2),d=Math.sqrt(c);return d}};Msn.VE.Geometry.Overlap={Range:{GreaterThanX:1,LessThanX:2,GreaterThanY:4,LessThanY:8,InXRange:16,InYRange:32,InRange:48},getInstance:function(f,g){var d=Msn.VE.Geometry.Overlap,a=f,b=g,c=0;e();function e(){if(b.getP2().x>a.getP2().x){c+=d.Range.GreaterThanX}if(b.getP1().x<a.getP1().x){c+=d.Range.LessThanX}if(b.getP2().y>a.getP2().y){c+=d.Range.GreaterThanY}if(b.getP1().y<a.getP1().y){c+=d.Range.LessThanY}if(a.getP1().x<=b.getP1().x&&b.getP2().x<=a.getP2().x){c+=d.Range.InXRange}if(a.getP1().y<=b.getP1().y&&b.getP2().y<=a.getP2().y){c+=d.Range.InYRange}}this.getRange=function(){return c};this.getLeftXBleed=function(){if(c&d.Range.LessThanX){return Math.abs(a.getP1().x-b.getP1().x)}else{return 0}};this.getRightXBleed=function(){if(c&d.Range.GreaterThanX){return b.getP2().x-a.getP2().x}else{return 0}};this.getTopYBleed=function(){if(c&d.Range.LessThanY){return Math.abs(a.getP1().y-b.getP1().y)}else{return 0}};this.getBottomYBleed=function(){if(c&d.Range.GreaterThanY){return b.getP2().y-a.getP2().y}else{return 0}}}};Msn.VE.Geometry.Rectangle=function(h,i){var g=this,a=h,b=i,d,e;f();function f(){c()}this.move=function(c){a.x=c.x;a.y=c.y;b.x=c.x+e;b.y=c.y+d};this.getP1=function(){return a};this.getP2=function(){return b};this.setP1=function(b){a=b;c()};this.setP2=function(a){b=a;c()};this.getWidth=function(){return e};this.getHeight=function(){return d};this.containsPoint=function(c){return c.x>=a.x&&c.x<=b.x&&c.y>=a.y&&c.y<=b.y};this.scale=function(d){a.x-=d;a.y-=d;b.x+=d;b.y+=d;c()};this.getOverlap=function(a){var b=Msn.VE.Geometry;return new b.Overlap.getInstance(g,a)};function c(){d=b.y-a.y;e=b.x-a.x}};Msn.VE.Geometry.Functions={getSlope:function(a,b){return(b.y-a.y)/(b.x-a.x)},getYIntercept:function(b,a){return a.y-b*a.x},getBestBoundingPoint:function(f,b,c){var a=Msn.VE.Geometry;if(!b){b=g(f).getScreenPosition()}var e=new a.Rectangle(b,new a.Point(b.x+f.offsetWidth,b.y+f.offsetHeight)),j=c.getOverlap(e),d=j.getRange();if((d&a.Overlap.Range.InRange)==a.Overlap.Range.InRange){return b}var h=b.x,i=b.y;if(d&a.Overlap.Range.GreaterThanX){h=c.getP2().x-e.getWidth()}if(d&a.Overlap.Range.LessThanX){h=c.getP1().x}if(d&a.Overlap.Range.GreaterThanY){i=c.getP2().y-e.getHeight()}if(d&a.Overlap.Range.LessThanY){i=c.getP1().y}return new a.Point(h,i)}};view3DMode=false;var sentinel3D,setStyle;function View3DAddPushpin(a){if(g(a.pin).hasClass("inactiveAbbreviationPin")){return }var d=parseInt(a.pinType),h=TranslatePushpinURL(a.className,a.innerHtml,d),c=Msn.VE.PushPinTypes,e=parseFloat(a.lat),f=parseFloat(a.lon),b='zindex="'+a.zIndex+'"';switch(d){case c.DirectionStep:case c.SearchResultNonprecise:b+=' textoffset="50%, 50%"';case c.Direction:case c.SearchResultPrecise:case c.AdSponsor:b+=' text="'+extractText(a.innerHtml)+'"';break;case c.Collection:if(a.className.indexOf("point")==-1){b+=' textoffset="50%, 60%"'}b+=' text="'+extractText(a.innerHtml)+'"';break;case c.Overlay:b+=' textoffset="50%, 50%"';b+=' text="'+extractText(a.innerHtml)+'"'}spacecontrol.AddPointWithProperties(0,a.id,e,f,h,b)}function extractText(b){var a=document.createElement("div");a.innerHTML=b;var c=a.textContent||a.innerText;a=null;return c}function View3DRemovePushpin(a){spacecontrol.DeleteGeometry(0,a)}function AddView3DParameter(d,c,b){var a=document.createElement("param");a.name=c;a.value=b;d.appendChild(a)}function Get3DUpdatedUrl(a){var b=Get3dInstallMarket();return"http://www.bing.com/maps/Help/VE3DInstall/VersionUpdated.aspx?version="+a+"&mkt="+b}function GetScriptVersion(){var a=null;if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null&&Msn.VE.API.Globals.vecurrentversion){var b=Msn.VE.API.Globals.vecurrentversion.split(".");a="";if(b.length>0){a+=b[0]}if(b.length>1){a+="."+b[1]}}else{if(typeof window.spacelandScriptVersion!="undefined"){a=window.spacelandScriptVersion}}return a}function CreateView3DControl(a){if(!BrowserSupports3D()){View3DUnavailable();return false}initial3dView=new Msn.VE.MapView;initial3dView.Copy(a);if(sentinel3D==null){sentinel3D=GetSentinel()}if(null==sentinel3D){View3DUnavailable();return false}if(sentinel3D!=null&&sentinel3D.CurrentVersion<4){var d=sentinel3D.CurrentVersion;sentinel3D=null;if(d>0){View3DUpgrade(d)}return false}try{sentinel3D.InitializeRuntime()}catch(h){}spacediv=document.createElement("div");spacediv.id="MSVE_spacediv";spacediv.className="MSVE_SLMap";spacediv.style.position="relative";spacediv.style.height="100%";spacediv.style.overflow="hidden";spacecontrol=document.createElement("object");var b=a.cameraLatlong==null?a.latlong:a.cameraLatlong;AddView3DParameter(spacecontrol,"StartLongitude",b.longitude);AddView3DParameter(spacecontrol,"StartLatitude",b.latitude);AddView3DParameter(spacecontrol,"StartPitch",a.GetTilt());AddView3DParameter(spacecontrol,"StartHeading",-a.GetDirection());var f=Get3dMarket();if(f){AddView3DParameter(spacecontrol,"CurrentLocale",f)}var e=a.GetAltitude();if(e>-1000){AddView3DParameter(spacecontrol,"StartAltitude",e)}else{AddView3DParameter(spacecontrol,"StartZoomLevel",a.zoomLevel)}spacediv.appendChild(spacecontrol);try{if(window.navigator.userAgent.indexOf("MSIE")!=-1){spacecontrol.classid="clsid:68BFC611-B963-4e8c-B0FE-0DD4FB832796"}else{spacecontrol.type="application/x-virtual-earth-3d"}}catch(h){View3DUnavailable();spacecontrol=false;return false}var c=GetScriptVersion();spacecontrol.ControlId=init3dparam;spacecontrol.ScriptVersion=c;AttachEvent("onresize",ResizeControl);p_elSource.appendChild(spacediv);ResizeControl();setStyle=false;var g=ValidateControl();if(g){IterativeCameraRefinement();spacecontrol.ControlId=init3dparam;spacecontrol.ScriptVersion=c;if((typeof Msn.VE.API=="undefined"||Msn.VE.API==null)&&spacecontrol.VersionUpdated){VE_Help.OpenSized(L_VE3D_VersionUpgradedDialogTitle,Get3DUpdatedUrl(sentinel3D.CurrentVersion),550,280)}}if(typeof state!="undefined"&&state!=null){state.Set3DViewInstallInProgress("")}return g}function View3DUnavailable(){if(IsEventAttached("onmodenotavailable")){Fire("onmodenotavailable",Msn.VE.MapActionMode.Mode3D)}else{if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){if(sentinel3D!=null){window.open(Get3dHelpUrl("View3DUnavailable.htm"),"_blank","width=600,height=550,menubar=0,resizeable=0,status=0,titlebar=0,toolbar=0,scrollbars=0")}else{if(window.navigator.userAgent.indexOf("MSIE")!=-1){window.open(Get3dInstallUrl(),"_blank","width=650,height=520,menubar=0,resizeable=0,status=0,titlebar=0,toolbar=0,scrollbars=0")}else{if(window.navigator.userAgent.indexOf("Windows")!=-1){window.open(Get3dInstallUrl(),"_blank","width=760,height=580,menubar=0,resizeable=0,status=0,titlebar=0,toolbar=0,scrollbars=0")}}}}}}function CallIterativeCameraRefinement(){var a=GetMapControlInstance(null);if(a){a.IterativeCameraRefinement()}}function IterativeCameraRefinement(){if(cameraUpdateCount>0){return }if(IsModeEnabled(Msn.VE.MapActionMode.Mode3D)&&spacecontrol){if(!spacecontrol.AllTilesLoaded){setTimeout(CallIterativeCameraRefinement,1000)}else{var a=false,c=currentView.GetAltitude(),d=initial3dView.GetAltitude();if(d>-1000&&c>-1000){a=Math.abs(c-d)>1}else{a=currentView.GetZoomLevel()!=initial3dView.GetZoomLevel()}if(a){var b=initial3dView.MakeCopy();b.SetMapStyle(currentView.mapStyle);SetView3D(b,true)}}}}function ValidateControl(){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){if(0==spacecontrol.HardwareClassificationLevel){setStyle=true}}var a=false,b=300;if(spacecontrol.Created){while(!spacecontrol.FirstFrameRendered&&!spacecontrol.LoadFailed&&!spacecontrol.AlreadyLoaded&&b>0){b--;spacecontrol.ProcessEvents()}a=spacecontrol.FirstFrameRendered}if(spacecontrol.Created&&!spacecontrol.HardwareAccelerationEnabled&&spacecontrol.LoadFailed){if(typeof Msn.VE.API=="undefined"||Msn.VE.API==null){window.setTimeout(DelayedHWDialog,2759);window.setTimeout(OnHardwareAccelHelpFired,4000)}else{if(IsEventAttached("onmodenotavailable")){Fire("onmodenotavailable",Msn.VE.MapActionMode.Mode3D)}}if(mode==Msn.VE.MapActionMode.Mode3D){EnableMode(Msn.VE.MapActionMode.Mode2D)}return false}else{if(!spacecontrol.Created||!spacecontrol.Enabled||!spacecontrol.IsHandleCreated||!a&&!spacecontrol.AlreadyLoaded){View3DUnavailable();spacecontrol=false;return false}else{spacecontrol.focus();view3DCreated=true;return true}}}function ResizeControl(){if(spacecontrol){spacecontrol.style.height=spacediv.offsetHeight+"px";spacecontrol.style.width=spacediv.offsetWidth+"px"}RepositionShims()}function SetView3D(a,g){currentMode.ValidateZoomLevel(a);a.Resolve(orthoMode,width,height);preferredView.Copy(a);if(!view3DCreated&&!spacecontrol){var l=CreateView3DControl(a);if(setStyle){a.mapStyle="h";previousMapStyle="h"}if(!l){return false}if(a.GetTilt()!=-90&&a.cameraLatlong==null){a.Resolve(orthoMode,width,height);cameraUpdateCount=-1}else{cameraUpdateCount=0;a._supressFlyToCall=true}p_elSource.style.backgroundColor="#e9e7d4";originX=0;originY=0;offsetX=0;offsetY=0;UpdateFromParent()}if(!g&&a.Equals(currentView)){if(!spaceCameraIsFlying){ProcessQueuedRequest(null,null)}return false}var c=false;if(a.GetAltitude()>-1000){c=Math.abs(a.GetAltitude()-currentView.GetAltitude())>0.0001}else{c=currentView.zoomLevel!=a.zoomLevel}currentView.Destroy();currentView=a;if(view3DCreated){if(previousMapStyle){if(currentView.mapStyle!=null&&previousMapStyle!=currentView.mapStyle){var b="http://go.microsoft.com/fwlink/?LinkID=98770";if(currentView.mapStyle=="a"){b="http://go.microsoft.com/fwlink/?LinkID=98771";spacecontrol.ShowAtmosphere=true}if(currentView.mapStyle=="h"){b="http://go.microsoft.com/fwlink/?LinkID=98772";spacecontrol.ShowAtmosphere=true}if(currentView.mapStyle=="r"){spacecontrol.TexturesVisible=false;if(spacecontrol.HardwareClassificationLevel<3){b="http://go.microsoft.com/fwlink/?LinkID=98769"}spacecontrol.ShowAtmosphere=false}else{spacecontrol.TexturesVisible=true}spacecontrol.AddImageSource("Terrain","Texture",GetManifestUrl(b),0,1);Fire("onchangemapstyle");previousMapStyle=currentView.mapStyle}}else{previousMapStyle=currentView.mapStyle}var d=a.cameraLatlong,i=a.zoomLevel,j=a.GetAltitude(),k=a.GetTilt(),h=a.GetDirection(),e=a._needsPivotOperation;if(c){Fire("onstartzoom")}if(a._supressFlyToCall){a._supressFlyToCall=false}else{var f=spacecontrol.FlyTo(d.latitude,d.longitude,i,j,k,h,e?1:0);if(!f&&!spaceCameraIsFlying){ProcessQueuedRequest(null,null)}}if(a.sceneId&&a.sceneId!=-1){ProcessPhotoPluginActionIn3D("PhotosEnabled","enabled=1;labels="+(a.mapStyle==Msn.VE.MapStyle.Road||a.mapStyle==Msn.VE.MapStyle.Hybrid||a.mapStyle==Msn.VE.MapStyle.ObliqueHybrid?"1":"0"),spacecontrol);ProcessPhotoPluginActionIn3D("SelectSceneId","SceneId="+a.sceneId+";X="+a.photoX+";Y="+a.photoY+";Scale="+a.photoScale,spacecontrol,null)}if(c){Fire("onendzoom")}if(copyright){copyright.Update()}return true}return false}var on3DAnimationInterruptedCallback=null;function SetOn3DAnimationInterruptedCallback(a){on3DAnimationInterruptedCallback=a}function GetOn3DAnimationInterruptedCallback(){return on3DAnimationInterruptedCallback}function SetViewport(b,d,c,e){Sync3dView();var a=preferredView.MakeCopy();a.sceneId=null;a.SetLatLongRectangle(new Msn.VE.LatLongRectangle(new Msn.VE.LatLong(ClipLatitude(b),ClipLongitude(d)),new Msn.VE.LatLong(ClipLatitude(c),ClipLongitude(e))));a.SetTilt(-90);a.SetDirection(0);return SetView(a)}function SetBestMapView(b){var a=GetBestMapViewBounds(b);if(!a||a.constructor!=Array){return false}if(a.length==4){return SetViewport(a[0],a[1],a[2],a[3])}}function GetBestMapViewBounds(a){var b=[];if(!a||a.constructor!=Array){return null}var c=a[0].latitude,d=a[0].longitude,f=c,g=d;for(var e=1;e<a.length;e++){c=MathMin(c,a[e].latitude);d=MathMin(d,a[e].longitude);f=MathMax(f,a[e].latitude);g=MathMax(g,a[e].longitude)}var h=(f-c)*0.1,i=(g-d)*0.1;c-=h;d-=i;f+=h;g+=i;if(!b||b.constructor!=Array){return null}else{b.push(ClipLatitude(c));b.push(ClipLongitude(d));b.push(ClipLatitude(f));b.push(ClipLongitude(g));return b}}function IncludePointInViewport(d,c){var a=new Msn.VE.LatLong(d,c);if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){var b=obliqueMode.GetScene();if(!b||!b.ContainsLatLong(a)){SetMapStyle(lastOrthoMapStyle)}}SetBestMapView([currentView.latlong,a])}function ClipLatitude(a){return Clip(a,minLatitude,maxLatitude)}function ClipLongitude(a){return Clip(a,minLongitude,maxLongitude)}function Clip(a,c,b){if(a<c){return c}if(a>b){return b}return a}function SetZoom(b){Sync3dView();var a=preferredView.MakeCopy();a.SetZoomLevel(b);SetView(a)}function ZoomIn(){Sync3dView();var a=preferredView.MakeCopy();a.SetZoomLevel(currentView.zoomLevel+1);SetView(a)}function ZoomOut(){Sync3dView();var a=preferredView.MakeCopy();a.SetZoomLevel(currentView.zoomLevel-1);SetView(a)}function SetCenterAndZoom(d,b,c){Sync3dView();var a=preferredView.MakeCopy();a.sceneId=null;a.SetCenterLatLong(new Msn.VE.LatLong(d,b));a.SetZoomLevel(c);SetView(a)}function GetCurrentViewMaxZoomLevel(b){var a=b;if(typeof a=="undefined"||a==null){a=preferredView}if(!currentMode){return tileLayerManager.GetMaxTileZoom()}return currentMode.GetCurrentMaxZoomLevel(a)}function ObliqueMode(){var r=false,a=null,t=null,b=false,h=false,y=null,z=null,l=false,n=false,k=null,c=null,g=-1,e=null,p=true,m=null,s=null,f=["02010130313","02010130321","02010130323","02010130330","02010130331","02010130332","02010130333","02010131202","02010131220","02010131221","02010131222","02010131223","02010131232","02010132110","02010132111","02010133000","02010133001","02010133003","02010133010","02010133012","02121131200","02121131201","02121131202","02121131203","02121131210","02121131211","02121131212","02121131213","02121131220","02121131221","02121131222","02121131223","02121131230","02121131231","02121131232","02121131233","02121131300","02121131302","02121222032","02121222033","02121222122","02121222210","02121222211","02121222212","02121222213","02121222230","02121222231","02121222233","02121222300","02121222301","02121222302","02121222303","02121222310","02121222311","02121222312","02121222313","02121222320","02121222321","02121222322","02121222323","02121222330","02121222331","02121222332","02121222333","02121223200","02121223202","02121223203","02121223210","02121223212","02121223213","02121223220","02121223221","02121223222","02121223223","02121223230","02121223231","02121223232","02121311002","02121311003","02121311020","02121311021","02121312131","02121312132","02121312133","02121312301","02121312303","02121312310","02121312311","02121312312","02121312313","02121312330","02121312331","02121312333","02121313022","02121313200","02121313202","02121313220","02121313222","02121330111","02121333101","02121333103","02121333110","02121333112","02121333130","02122313101","02122313103","02122313110","02122313112","02123000003","02123000012","02123000021","02123000022","02123000023","02123000030","02123000032","02123000101","02123000103","02123000110","02123000111","02123000112","02123000113","02123000121","02123000123","02123000130","02123000131","02123000132","02123000133","02123000200","02123000201","02123000210","02123000301","02123000303","02123000310","02123000311","02123000312","02123000313","02123000321","02123000330","02123000331","02123000332","02123000333","02123001000","02123001001","02123001002","02123001003","02123001010","02123001011","02123001012","02123001013","02123001020","02123001021","02123001022","02123001023","02123001030","02123001031","02123001032","02123001033","02123001102","02123001103","02123001112","02123001120","02123001121","02123001122","02123001123","02123001130","02123001132","02123001200","02123001201","02123001202","02123001203","02123001210","02123001211","02123001212","02123001220","02123001221","02123001222","02123001223","02123001232","02123001300","02123001301","02123001302","02123001303","02123002103","02123002110","02123002111","02123002112","02123002113","02123002121","02123002123","02123002130","02123002131","02123002132","02123002133","02123002233","02123002301","02123002303","02123002310","02123002311","02123002312","02123002313","02123002320","02123002321","02123002322","02123002323","02123002330","02123002331","02123002332","02123002333","02123003000","02123003001","02123003002","02123003003","02123003010","02123003011","02123003012","02123003013","02123003020","02123003021","02123003022","02123003023","02123003030","02123003031","02123003032","02123003033","02123003102","02123003103","02123003112","02123003113","02123003120","02123003121","02123003122","02123003123","02123003130","02123003131","02123003132","02123003133","02123003200","02123003201","02123003202","02123003203","02123003210","02123003211","02123003212","02123003213","02123003220","02123003221","02123003222","02123003223","02123003230","02123003231","02123003232","02123003233","02123003300","02123003301","02123003302","02123003303","02123003310","02123003320","02123003321","02123003322","02123003323","02123003330","02123003332","02123020011","02123020013","02123020031","02123020100","02123020101","02123020102","02123020103","02123020110","02123020111","02123020112","02123020113","02123020120","02123021000","02123021001","02123021002","02123021100","02123021101","02123022103","02123022112","02123022113","02123022121","02123022122","02123022123","02123022130","02123022131","02123022132","02123022133","02123022211","02123022233","02123022300","02123022301","02123022302","02123022303","02123022310","02123022311","02123022312","02123022313","02123022320","02123022321","02123022322","02123022323","02123022330","02123022331","02123023200","02123023202","02123023220","02123030020","02123030021","02123030022","02123030023","02123030030","02123030032","02123030033","02123030200","02123030201","02123030210","02123030211","02123030212","02123030213","02123030231","02123030300","02123030302","02123030303","02123030312","02123030320","02123030321","02123030323","02123030330","02123030331","02123030332","02123030333","02123031031","02123031033","02123031120","02123031122","02123031202","02123031203","02123031212","02123031220","02123031221","02123031223","02123031230","02123031231","02123031232","02123031233","02123031332","02123031333","02123033010","02123033011","02123033101","02123033110","02123033111","02123100233","02123100322","02123102011","02123102012","02123102013","02123102030","02123102031","02123102032","02123102033","02123102100","02123102102","02123102103","02123102111","02123102112","02123102113","02123102120","02123102121","02123102122","02123102123","02123102130","02123102131","02123102132","02123102133","02123102210","02123102211","02123102301","02123102310","02123102311","02123102312","02123102313","02123102330","02123102331","02123102332","02123102333","02123103002","02123103020","02123103022","02123103030","02123103031","02123103032","02123103033","02123103120","02123103122","02123103200","02123103201","02123103202","02123103203","02123103210","02123103212","02123103213","02123103220","02123103221","02123103222","02123103230","02123103231","02123120111","02123130110","02123130111","02123130112","02123130113","02123130130","02123130131","02123131000","02123131002","02123200011","02123200013","02123200031","02123200033","02123200100","02123200101","02123200102","02123200103","02123200120","02123200121","02123200122","02123200223","02123200230","02123200231","02123200232","02123200233","02123200322","02123200323","02123201303","02123201312","02123201320","02123201321","02123201323","02123201330","02123201331","02123201332","02123202001","02123202010","02123202011","02123202013","02123202031","02123202100","02123202101","02123202102","02123202120","02123202130","02123202131","02123203101","02123203102","02123203103","02123203110","02123203112","02123203120","02123203121","02123203122","02123203123","02123220122","02123220123","02123220210","02123220211","02123220212","02123220213","02123220300","02123220301","02123220302","02123220303","02123220320","02123220321","02123220323","02123220330","02123220332","02123223233","02123223322","02123231323","02123233011","02123233012","02123233013","02123233030","02123233031","02123233033","02123233100","02123233101","02123233102","02123233103","02123233110","02123233111","02123233112","02123233113","02123233120","02123233121","02123233122","02123233123","02123233130","02123233131","02123233132","02123233133","02123233201","02123233203","02123233210","02123233211","02123233212","02123233213","02123233230","02123233231","02123233232","02123233300","02123233301","02123233302","02123233303","02123233310","02123233311","02123233312","02123233313","02123233330","02123233331","02123233332","02123233333","02123302112","02123302113","02123302130","02123302131","02123302132","02123302133","02123302310","02123302311","02123302313","02123303002","02123303003","02123303020","02123303021","02123303022","02123303023","02123303030","02123303032","02123303033","02123303200","02123303201","02123303202","02123303203","02123303210","02123303211","02123303220","02123303221","02123320223","02123320232","02123322001","02123322003","02123322010","02123322012","02123322020","02123322021","02123322022","02123322023","02123322030","02123322032","02123322033","02123322122","02123322200","02123322201","02123322202","02123322203","02123322210","02123322211","02123322212","02123322213","02123322221","02123322223","02123322230","02123322231","02123322232","02123322233","02123322300","02123322302","02123322303","02123322320","02123322321","02123322322","02123322323","02123322330","02123322332","02123323323","02123323332","02123330233","02123331111","02123331112","02123331113","02123331131","02123332011","02123332221","02123332223","02123332230","02123332232","02130221203","02130221212","02130221221","02130221230","02130231032","02130231033","02130231210","02130231211","02130300020","02130300021","02130300022","02130300023","02130300030","02130300032","02130300200","02130300201","02130300210","02130313022","02130313023","02130313200","02130313201","02130320130","02130320131","02130320132","02130320133","02130321020","02130321022","02130321102","02130321103","02130321120","02130321121","02130321122","02130321123","02130332002","02130332003","02130332020","02130332021","02130332303","02130332312","02130332321","02130332330","02132032103","02132032112","02132032113","02132032120","02132032121","02132032122","02132032123","02132032130","02132032131","02132032132","02132220000","02132220001","02132220002","02132220003","02132220012","02132220020","02132220021","02132220022","02132220023","02132220030","02132220031","02132220032","02132220033","02132220200","02132220201","02132220202","02132220203","02132220210","02132220211","02132220212","02132220213","02132220230","02132220231","02132222202","02132222203","02132222210","02132222211","02132222212","02132222213","02132222220","02132222221","02132222222","02132222223","02132222230","02132222231","02132222232","02132222233","02132222300","02132222301","02132222302","02132222303","02132222310","02132222312","02132222320","02132222321","02132222330","02132310233","02132310322","02132310323","02132310332","02132312011","02132312013","02132312031","02132312100","02132312101","02132312102","02132312103","02133030110","02133030111","02133030112","02133030113","02133031000","02133031001","02133031002","02133031003","02133031012","02133031020","02133031021","02133031232","02133031233","02133031322","02133031332","02133031333","02133033010","02133033011","02133033012","02133033013","02133033020","02133033021","02133033022","02133033023","02133033030","02133033031","02133033032","02133033033","02133033100","02133033102","02133033110","02133033111","02133033112","02133033113","02133033120","02133033121","02133033122","02133033123","02133033130","02133033131","02133033132","02133033133","02133033200","02133033201","02133033203","02133033210","02133033211","02133033212","02133033213","02133033230","02133033231","02133033233","02133033300","02133033301","02133033302","02133033303","02133033310","02133033311","02133033312","02133033313","02133033320","02133033321","02133033322","02133033323","02133103133","02133103213","02133103231","02133103233","02133103302","02133103311","02133103313","02133103320","02133103322","02133111212","02133111213","02133111230","02133111231","02133111232","02133111233","02133111320","02133111321","02133111322","02133111323","02133111330","02133111331","02133111332","02133111333","02133112022","02133112023","02133112032","02133112033","02133112200","02133112201","02133112210","02133112211","02133113003","02133113010","02133113011","02133113012","02133113013","02133113021","02133113023","02133113030","02133113031","02133113032","02133113033","02133113100","02133113101","02133113102","02133113103","02133113110","02133113111","02133113112","02133113113","02133113120","02133113121","02133113122","02133113123","02133113130","02133113131","02133113201","02133113210","02133113211","02133120012","02133120013","02133120030","02133120031","02133120032","02133120033","02133120102","02133120103","02133120120","02133120121","02133120122","02133120123","02133120210","02133120211","02133120212","02133120213","02133120222","02133120223","02133120230","02133120231","02133120232","02133120233","02133120300","02133120301","02133120302","02133120303","02133120312","02133120320","02133120321","02133120322","02133120323","02133120330","02133120331","02133120332","02133120333","02133121220","02133121221","02133121222","02133121223","02133121230","02133121232","02133122000","02133122001","02133122002","02133122003","02133122010","02133122011","02133122012","02133122013","02133122020","02133122021","02133122022","02133122023","02133122030","02133122031","02133122032","02133122033","02133122100","02133122101","02133122102","02133122103","02133122110","02133122111","02133122112","02133122113","02133122120","02133122121","02133122122","02133122123","02133122130","02133122131","02133122132","02133122133","02133122200","02133122201","02133122202","02133122203","02133122210","02133122212","02133122213","02133122221","02133122223","02133122230","02133122231","02133122232","02133122233","02133122301","02133122302","02133122303","02133122310","02133122311","02133122312","02133122313","02133122320","02133122321","02133122322","02133122323","02133122330","02133122331","02133122332","02133122333","02133123000","02133123001","02133123002","02133123003","02133123010","02133123012","02133123020","02133123021","02133123022","02133123023","02133123030","02133123032","02133123033","02133123122","02133123131","02133123133","02133123200","02133123201","02133123202","02133123203","02133123210","02133123211","02133123212","02133123213","02133123220","02133123221","02133123230","02133123231","02133123232","02133123233","02133123300","02133123301","02133123302","02133123303","02133123310","02133123311","02133123312","02133123313","02133123320","02133123321","02133123322","02133123323","02133123330","02133123331","02133123332","02133123333","02133130013","02133130021","02133130023","02133130030","02133130031","02133130032","02133130033","02133130102","02133130120","02133130121","02133130122","02133130123","02133130130","02133130131","02133130132","02133130133","02133130211","02133130213","02133130230","02133130231","02133130233","02133130300","02133130301","02133130302","02133130303","02133130310","02133130311","02133130312","02133130320","02133130321","02133130322","02133130323","02133130330","02133130332","02133131002","02133131003","02133131020","02133131021","02133131022","02133131023","02133131200","02133131201","02133131202","02133131203","02133131212","02133131220","02133131221","02133131222","02133131223","02133131230","02133131232","02133132001","02133132002","02133132003","02133132010","02133132011","02133132012","02133132013","02133132020","02133132021","02133132022","02133132023","02133132030","02133132031","02133132032","02133132033","02133132100","02133132101","02133132102","02133132103","02133132110","02133132112","02133132120","02133132121","02133132130","02133132202","02133132220","02133132222","02133211123","02133211132","02133211133","02133211222","02133211223","02133211230","02133211231","02133211232","02133211233","02133211301","02133211303","02133211310","02133211311","02133211312","02133211313","02133211320","02133211321","02133211322","02133211323","02133211330","02133211331","02133211332","02133211333","02133212113","02133212131","02133212133","02133212311","02133213000","02133213001","02133213002","02133213003","02133213010","02133213011","02133213012","02133213013","02133213020","02133213021","02133213022","02133213023","02133213030","02133213031","02133213032","02133213033","02133213100","02133213101","02133213102","02133213103","02133213200","02133213201","02133213210","02133213211","02133213212","02133213213","02133213230","02133213231","02133213300","02133213301","02133213302","02133213303","02133213310","02133213312","02133213320","02133213321","02133213330","02133231032","02133231033","02133231122","02133231123","02133231132","02133231133","02133231210","02133231211","02133231213","02133231231","02133231300","02133231301","02133231302","02133231303","02133231310","02133231311","02133231312","02133231313","02133231320","02133231321","02133231330","02133231331","02133233101","02133233103","02133233112","02133233113","02133233121","02133233123","02133233130","02133233131","02133233132","02133233133","02133233211","02133233213","02133233222","02133233223","02133233231","02133233232","02133233233","02133233300","02133233301","02133233302","02133233303","02133233310","02133233311","02133233312","02133233313","02133233320","02133233321","02133233322","02133233323","02133233330","02133233331","02133233332","02133300001","02133300002","02133300003","02133300010","02133300011","02133300012","02133300013","02133300020","02133300021","02133300022","02133300023","02133300030","02133300031","02133300032","02133300033","02133300100","02133300101","02133300102","02133300103","02133300110","02133300111","02133300112","02133300113","02133300120","02133300121","02133300122","02133300123","02133300130","02133300132","02133300200","02133300202","02133300210","02133300211","02133300220","02133300221","02133300222","02133300223","02133300230","02133300231","02133300232","02133300233","02133300300","02133300301","02133300302","02133300303","02133300312","02133300320","02133300321","02133300322","02133300323","02133300330","02133300331","02133300332","02133300333","02133301000","02133301001","02133301002","02133301003","02133301010","02133301011","02133301012","02133301013","02133301020","02133301021","02133301022","02133301023","02133301030","02133301031","02133301032","02133301033","02133301100","02133301101","02133301102","02133301103","02133301110","02133301111","02133301112","02133301113","02133301120","02133301121","02133301122","02133301123","02133301130","02133301131","02133301132","02133301133","02133301201","02133301210","02133301211","02133301213","02133301220","02133301221","02133301222","02133301223","02133301230","02133301231","02133301232","02133301233","02133301300","02133301301","02133301302","02133301303","02133301310","02133301311","02133301312","02133301313","02133301320","02133301321","02133301322","02133301323","02133301330","02133301331","02133301332","02133301333","02133302000","02133302001","02133302002","02133302003","02133302010","02133302011","02133302012","02133302013","02133302020","02133302021","02133302030","02133302031","02133302100","02133302102","02133302103","02133302111","02133302112","02133302113","02133302120","02133302121","02133302122","02133302123","02133302130","02133302131","02133302132","02133302133","02133302300","02133302301","02133302302","02133302303","02133302310","02133302311","02133302312","02133302313","02133303000","02133303001","02133303002","02133303003","02133303010","02133303012","02133303020","02133303021","02133303030","02133303100","02133303101","02133303102","02133303103","02133303110","02133303111","02133303112","02133303113","02133303120","02133303121","02133303130","02133303131","02133303201","02133303203","02133303210","02133303211","02133303212","02133303213","02133303221","02133303230","02133303231","02133303233","02133303300","02133303301","02133303302","02133303303","02133303310","02133303312","02133303320","02133303321","02133303322","02133303323","02133303330","02133303332","02133310000","02133310002","02133310020","02133310022","02133310112","02133310113","02133310130","02133310131","02133310132","02133310133","02133310200","02133310220","02133310221","02133310222","02133310223","02133310230","02133310231","02133310232","02133310233","02133310310","02133310311","02133310320","02133310321","02133310322","02133310323","02133310330","02133310332","02133310333","02133311002","02133311003","02133311012","02133311020","02133311021","02133311022","02133311023","02133311030","02133311032","02133311101","02133311103","02133311110","02133311112","02133311113","02133311130","02133311132","02133311133","02133311200","02133311201","02133311210","02133311222","02133311223","02133311232","02133312000","02133312001","02133312002","02133312003","02133312010","02133312011","02133312012","02133312013","02133312020","02133312021","02133312023","02133312030","02133312031","02133312032","02133312033","02133312100","02133312101","02133312102","02133312103","02133312110","02133312111","02133312112","02133312113","02133312120","02133312121","02133312122","02133312123","02133312130","02133312131","02133312132","02133312133","02133312201","02133312210","02133312211","02133312300","02133312301","02133312310","02133312311","02133312332","02133312333","02133313000","02133313001","02133313002","02133313003","02133313010","02133313012","02133313020","02133313021","02133313022","02133313023","02133313030","02133313032","02133313200","02133313201","02133313222","02133313223","02133320011","02133320013","02133320023","02133320031","02133320032","02133320033","02133320100","02133320101","02133320102","02133320103","02133320110","02133320112","02133320120","02133320121","02133320122","02133320123","02133320130","02133320132","02133320201","02133320203","02133320210","02133320211","02133320212","02133320213","02133320221","02133320223","02133320230","02133320231","02133320232","02133320233","02133320300","02133320301","02133320302","02133320310","02133320320","02133320322","02133321011","02133321013","02133321100","02133321101","02133321102","02133321103","02133321110","02133321112","02133321132","02133321133","02133321220","02133321221","02133321222","02133321223","02133321230","02133321231","02133321232","02133321233","02133321310","02133321311","02133321312","02133321313","02133321320","02133321321","02133321322","02133321323","02133321330","02133321331","02133322000","02133322001","02133322002","02133322003","02133322010","02133322012","02133322013","02133322020","02133322021","02133322022","02133322023","02133322030","02133322031","02133322032","02133322033","02133322122","02133322123","02133322200","02133322201","02133322202","02133322203","02133322210","02133322211","02133322212","02133322213","02133322220","02133322221","02133322222","02133322223","02133322230","02133322231","02133322232","02133322233","02133322300","02133322301","02133322302","02133322303","02133322320","02133322321","02133322322","02133322330","02133322331","02133322332","02133322333","02133323000","02133323001","02133323002","02133323003","02133323010","02133323011","02133323012","02133323013","02133323021","02133323030","02133323031","02133323032","02133323033","02133323100","02133323101","02133323102","02133323103","02133323120","02133323121","02133323122","02133323123","02133323132","02133323133","02133323210","02133323211","02133323220","02133323221","02133323222","02133323223","02133323230","02133323231","02133323232","02133323233","02133323300","02133323301","02133323302","02133323303","02133323310","02133323311","02133323312","02133323313","02133323320","02133323321","02133323322","02133323323","02133323330","02133323331","02133323332","02133323333","02133330022","02133330023","02133330031","02133330032","02133330033","02133330110","02133330111","02133330112","02133330113","02133330120","02133330121","02133330122","02133330123","02133330130","02133330131","02133330132","02133330133","02133330200","02133330201","02133330202","02133330203","02133330210","02133330211","02133330212","02133330213","02133330220","02133330221","02133330230","02133330231","02133330232","02133330233","02133330300","02133330301","02133330302","02133330303","02133330310","02133330311","02133330312","02133330313","02133330320","02133330321","02133330322","02133330323","02133330330","02133330331","02133330332","02133330333","02133331000","02133331001","02133331002","02133331003","02133331012","02133331020","02133331021","02133331022","02133331023","02133331030","02133331031","02133331032","02133331033","02133331200","02133331201","02133331202","02133331203","02133331212","02133331213","02133331220","02133331221","02133331222","02133331223","02133331230","02133331231","02133331232","02133331233","02133332010","02133332011","02133332012","02133332013","02133332022","02133332030","02133332031","02133332032","02133332033","02133332100","02133332101","02133332102","02133332103","02133332110","02133332111","02133332112","02133332113","02133332120","02133332121","02133332122","02133332123","02133332130","02133332131","02133332132","02133332133","02133332200","02133332202","02133332210","02133332211","02133332212","02133332213","02133332220","02133332221","02133332222","02133332223","02133332230","02133332231","02133332233","02133332300","02133332301","02133332302","02133332303","02133332310","02133332311","02133332320","02133332321","02133332330","02133332331","02133332332","02133332333","02133333000","02133333001","02133333002","02133333003","02133333010","02133333011","02133333012","02133333013","02133333020","02133333022","02133333030","02133333031","02133333032","02133333033","02133333102","02133333103","02133333112","02133333120","02133333121","02133333122","02133333123","02133333130","02133333131","02133333132","02133333133","02133333200","02133333201","02133333203","02133333210","02133333211","02133333212","02133333213","02133333220","02133333222","02133333223","02133333232","02133333300","02133333301","02133333302","02133333303","02133333310","02133333311","02221111013","02221111031","02221111033","02221111102","02221111103","02221111120","02221111121","02221111122","02221111123","02221111130","02221111132","02221111133","02221111301","02221111310","02221111311","02230000201","02230000203","02230000210","02230000212","02230000213","02230000231","02230000233","02230000302","02230000303","02230000312","02230000313","02230000320","02230000321","02230000323","02230000330","02230000331","02230000332","02230001220","02230001222","02230002101","02230002110","02230003023","02230003032","02230003033","02230003201","02230003202","02230003220","02230003221","02230003222","02230003223","02230003303","02230003312","02230003321","02230003330","02230003332","02230021011","02230021012","02230021013","02301000113","02301000131","02301000133","02301000311","02301001002","02301001011","02301001013","02301001020","02301001022","02301001100","02301001200","02301002223","02301002232","02301002233","02301002322","02301002323","02301003010","02301003011","02301003012","02301003013","02301003031","02301003033","02301003100","02301003102","02301003120","02301003121","02301003122","02301003123","02301003211","02301003323","02301003332","02301003333","02301011100","02301011101","02301011102","02301011103","02301011110","02301011111","02301011112","02301012103","02301012112","02301012113","02301012121","02301012123","02301012130","02301012131","02301012132","02301012133","02301012310","02301012311","02301012312","02301012313","02301012330","02301012331","02301020001","02301020003","02301020010","02301020011","02301020012","02301020013","02301020030","02301020031","02301020033","02301020100","02301020101","02301020102","02301020103","02301020110","02301020112","02301020113","02301020120","02301020121","02301020122","02301020123","02301020130","02301020131","02301020132","02301020133","02301020211","02301020300","02301020301","02301020302","02301020303","02301020310","02301020311","02301020312","02301020313","02301020321","02301020330","02301020331","02301020332","02301020333","02301021001","02301021003","02301021010","02301021011","02301021012","02301021013","02301021020","02301021021","02301021022","02301021023","02301021030","02301021031","02301021032","02301021033","02301021100","02301021101","02301021102","02301021103","02301021110","02301021111","02301021112","02301021113","02301021120","02301021121","02301021122","02301021123","02301021130","02301021131","02301021132","02301021133","02301021200","02301021201","02301021202","02301021203","02301021210","02301021211","02301021212","02301021213","02301021220","02301021221","02301021222","02301021223","02301021230","02301021231","02301021232","02301021233","02301021300","02301021301","02301021302","02301021303","02301021310","02301021311","02301021312","02301021313","02301021320","02301021321","02301021322","02301021323","02301021330","02301021331","02301021332","02301021333","02301022110","02301022111","02301022112","02301022113","02301022131","02301023000","02301023001","02301023002","02301023003","02301023010","02301023011","02301023012","02301023013","02301023020","02301023021","02301023022","02301023023","02301023030","02301023031","02301023032","02301023033","02301023100","02301023101","02301023102","02301023103","02301023110","02301023111","02301023112","02301023113","02301023120","02301023122","02301023130","02301023131","02301023133","02301023200","02301023201","02301023202","02301023203","02301023210","02301023211","02301023212","02301023213","02301023223","02301023230","02301023231","02301023232","02301023233","02301023300","02301023302","02301023320","02301023322","02301030222","02301030223","02301031102","02301031103","02301031120","02301031121","02301031131","02301031133","02301032000","02301032001","02301032002","02301032003","02301032030","02301032031","02301032032","02301032033","02301032131","02301032133","02301032211","02301032212","02301032230","02301032231","02301032232","02301032233","02301032300","02301032301","02301032302","02301032303","02301032312","02301032313","02301032320","02301032321","02301032322","02301032323","02301032330","02301032331","02301032332","02301032333","02301033220","02301033222","02301033223","02301100000","02301100001","02301100002","02301100003","02301100010","02301100011","02301100012","02301100013","02301100031","02301100100","02301100101","02301100102","02301100103","02301100110","02301100112","02301100120","02301100121","02301100130","02301101013","02301101031","02301101100","02301101101","02301101102","02301101103","02301101110","02301101112","02301101113","02301101120","02301101121","02301101130","02301101131","02301110112","02301110113","02301110130","02301110131","02301120020","02301120022","02301132111","02301132113","02301132131","02301132133","02301132311","02301132313","02301133000","02301133001","02301133002","02301133003","02301133010","02301133012","02301133013","02301133020","02301133021","02301133022","02301133023","02301133030","02301133031","02301133032","02301133033","02301133102","02301133103","02301133120","02301133121","02301133122","02301133123","02301133200","02301133201","02301133202","02301133203","02301133210","02301133211","02301133212","02301133213","02301133300","02301133301","02301133302","02301133303","02301201001","02301201010","02301201011","02301201013","02301201100","02301201101","02301201103","02301201110","02301201112","02301201121","02301201130","02301201131","02301201132","02301201133","02301210011","02301210030","02301210031","02301210032","02301210033","02301210100","02301210101","02301210103","02301210110","02301210111","02301210112","02301210113","02301210120","02301210121","02301210122","02301210123","02301211000","02301211001","02301211002","02301211003","02301211010","02301211012","02301211020","02301211021","02301211022","02301211023","02301211030","02301211032","02301211033","02301211201","02301211202","02301211203","02301211210","02301211211","02301211212","02301211220","02301211221","02301211222","02301211223","02301211230","02301211232","02301211233","02301212003","02301212012","02301212021","02301212023","02301212030","02301212032","02301212033","02301212210","02301212211","02301212213","02301212302","02301212303","02301212320","02301212321","02301212323","02301212330","02301212331","02301212332","02301212333","02301213000","02301213001","02301213002","02301213010","02301213011","02301213012","02301213013","02301213020","02301213021","02301213022","02301213031","02301213100","02301213102","02301213120","02301213211","02301213213","02301213220","02301213221","02301213222","02301213223","02301213230","02301213231","02301213232","02301213233","02301213300","02301213301","02301213302","02301213303","02301213310","02301213311","02301213312","02301213313","02301213320","02301213321","02301213322","02301213323","02301213330","02301213331","02301213332","02301213333","02301231000","02301231001","02301231003","02301231010","02301231011","02301231012","02301231013","02301231030","02301231031","02301231100","02301231101","02301231102","02301231103","02301231110","02301231111","02301231112","02301231113","02301231120","02301231121","02301231123","02301231130","02301231131","02301231132","02301231133","02301231303","02301231310","02301231311","02301231312","02301231321","02301231323","02301231330","02301231331","02301231332","02301231333","02301300230","02301300231","02301300232","02301300233","02301300302","02301300320","02301301113","02301301131","02301301133","02301301311","02301301332","02301301333","02301302123","02301302132","02301302133","02301302200","02301302201","02301302202","02301302203","02301302210","02301302211","02301302212","02301302213","02301302220","02301302221","02301302222","02301302223","02301302230","02301302231","02301302232","02301302233","02301302300","02301302301","02301302302","02301302303","02301302310","02301302311","02301302312","02301302313","02301302320","02301302321","02301302322","02301302323","02301302330","02301302331","02301302332","02301302333","02301303021","02301303022","02301303110","02301303111","02301303200","02301303201","02301310002","02301310020","02301310021","02301310022","02301310023","02301310030","02301310032","02301310033","02301310200","02301310201","02301310210","02301310211","02301310212","02301310213","02301312013","02301312031","02301312033","02301312102","02301312103","02301312112","02301312113","02301312120","02301312122","02301312130","02301312131","02301312211","02301312300","02301312302","02301312320","02301312321","02301312323","02301312330","02301312332","02301320000","02301320001","02301320002","02301320003","02301320010","02301320011","02301320012","02301320013","02301320020","02301320021","02301320022","02301320023","02301320030","02301320031","02301320032","02301320033","02301320100","02301320101","02301320102","02301320103","02301320110","02301320111","02301320112","02301320113","02301320120","02301320121","02301320122","02301320123","02301320130","02301320131","02301320132","02301320133","02301320200","02301320201","02301320203","02301320210","02301320211","02301320212","02301320213","02301320230","02301320231","02301320300","02301320301","02301320302","02301320303","02301320310","02301320311","02301320312","02301320320","02301320321","02301320322","02301320323","02301320330","02301320332","02301321001","02301321002","02301321003","02301321010","02301321011","02301321012","02301321013","02301321020","02301321021","02301321022","02301321023","02301321030","02301321032","02301321033","02301321100","02301321101","02301321102","02301321103","02301321201","02301321210","02301321211","02301321212","02301321213","02301321332","02301321333","02301322100","02301322101","02301322102","02301322103","02301322110","02301322111","02301322112","02301322113","02301322120","02301322121","02301322122","02301322123","02301322130","02301322131","02301322132","02301322133","02301322301","02301322310","02301323000","02301323002","02301323020","02301323103","02301323110","02301323111","02301323112","02301323113","02301323121","02301323130","02301323131","02301323132","02301323133","02301330011","02301330100","02301330101","02301330102","02301330103","02301330110","02301331312","02301331313","02301331330","02301331331","02301332031","02301332033","02301332120","02301332121","02301332122","02301332123","02301332210","02301332211","02301333301","02301333303","02301333310","02301333312","02310000003","02310000010","02310000011","02310000012","02310000013","02310000021","02310000023","02310000030","02310000031","02310000032","02310000033","02310000100","02310000102","02310000103","02310000120","02310000121","02310000122","02310000123","02310000201","02310000203","02310000210","02310000211","02310000212","02310000213","02310000230","02310000231","02310000232","02310000233","02310000300","02310000301","02310000302","02310000303","02310000310","02310000312","02310000320","02310000321","02310000322","02310000323","02310000330","02310000332","02310002001","02310002010","02310002011","02310002100","02310002101","02310002110","02310012303","02310012312","02310012313","02310012321","02310012330","02310012331","02310022303","02310022312","02310022321","02310022330","02310030211","02310030213","02310030231","02310030233","02310030300","02310030301","02310030302","02310030303","02310030310","02310030311","02310030312","02310030313","02310030320","02310030321","02310030322","02310030323","02310030330","02310030331","02310030332","02310030333","02310031200","02310031201","02310031202","02310031203","02310031210","02310031212","02310031213","02310031220","02310031221","02310031222","02310031223","02310031230","02310031231","02310031232","02310031233","02310032321","02310032330","02310032331","02310032332","02310032333","02310033202","02310033203","02310033212","02310033220","02310033221","02310033222","02310033223","02310033230","02310033231","02310033232","02310033233","02310101012","02310101021","02310101023","02310101030","02310101032","02310101033","02310101122","02310101201","02310101202","02310101203","02310101210","02310101211","02310101212","02310101220","02310101221","02310101222","02310101223","02310101230","02310101231","02310101232","02310101233","02310101300","02310101301","02310101322","02310101323","02310101332","02310101333","02310103000","02310103001","02310103002","02310103003","02310103010","02310103011","02310103012","02310103013","02310103020","02310103021","02310103022","02310103023","02310103030","02310103031","02310103032","02310103033","02310103100","02310103101","02310103102","02310103103","02310103110","02310103111","02310103112","02310103113","02310103120","02310103121","02310103122","02310103130","02310103131","02310103201","02310103203","02310103210","02310103211","02310103212","02310103213","02310103231","02310103233","02310103300","02310103302","02310103320","02310103322","02310110222","02310110223","02310110232","02310112000","02310112001","02310112002","02310112003","02310112010","02310112012","02310112020","02310112021","02310112030","02310121011","02310121033","02310121100","02310121102","02310121122","02310121123","02310121211","02310121300","02310121301","02310200132","02310200133","02310202033","02310202102","02310202103","02310202120","02310202121","02310202122","02310202211","02310202300","02310210231","02310210233","02310210320","02310210321","02310210322","02310210323","02310210332","02310210333","02310211202","02310211203","02310211212","02310211213","02310211220","02310211221","02310211222","02310211223","02310211230","02310211231","02310211232","02310211233","02310211302","02310211303","02310211320","02310211321","02310211322","02310212011","02310212013","02310212100","02310212101","02310212103","02310212110","02310212111","02310212112","02310212113","02310212130","02310212131","02310212132","02310213000","02310213001","02310213002","02310213003","02310213010","02310213011","02310213012","02310213100","02310213112","02310213113","02310213130","02310213131","02310213132","02310213133","02310213310","02310213311","02310220021","02310220023","02310220030","02310220031","02310220032","02310220033","02310220122","02310220200","02310220201","02310220202","02310220203","02310220210","02310220211","02310220212","02310220213","02310220220","02310220221","02310220223","02310220230","02310220231","02310220232","02310220233","02310220300","02310220302","02310220303","02310220320","02310220321","02310220322","02310220323","02310220330","02310222310","02310222311","02310222312","02310222313","02310222331","02310222333","02310223200","02310223201","02310223202","02310223203","02310223212","02310223220","02310223221","02310223222","02310223223","02310223230","02310223232","02310300110","02310300111","02310300112","02310300113","02310300122","02310300123","02310300130","02310300131","02310300300","02310300301","02310300302","02310300303","02310300320","02310300321","02310300322","02310300323","02310302002","02310302003","02310302012","02310302013","02310302020","02310302021","02310302022","02310302023","02310302030","02310302031","02310302032","02310302033","02310302101","02310302120","02310302121","02310302122","02310302123","02310302200","02310302201","02310302210","02310302211","02310302212","02310302213","02310302230","02310302231","02310302232","02310302233","02310302300","02310302301","02310302302","02310302320","02310311230","02310311231","02310311232","02310311233","02310311320","02310311321","02310311322","02310311323","02310311330","02310311332","02310313010","02310313011","02310313012","02310313013","02310313030","02310313031","02310313032","02310313033","02310313100","02310313101","02310313102","02310313103","02310313110","02310313112","02310313120","02310313121","02310313122","02310313123","02310313130","02310313132","02310313210","02310313211","02310313212","02310313213","02310313300","02310313301","02310313302","02310313303","02310313310","02310313312","02310322223","02310322232","02310322233","02310322322","02310322323","02310322332","02310322333","02310323222","02310323223","02310323232","02310323233","02310331033","02310331211","02310331213","02310331231","02310331300","02310331301","02310331302","02310331303","02310331320","02310331321","02310333223","02310333232","02310333233","02310333331","02310333333","02311011000","02311011001","02311011002","02311011003","02311011010","02311011011","02311011012","02311011013","02311011020","02311011021","02311011022","02311011023","02311011030","02311011031","02311011032","02311011033","02311011100","02311011101","02311013303","02311013312","02311013313","02311013321","02311013323","02311013330","02311013331","02311013332","02311013333","02311030103","02311030112","02311030113","02311030121","02311030123","02311030130","02311030131","02311030132","02311030133","02311030231","02311030233","02311030310","02311030311","02311030313","02311030320","02311030321","02311030322","02311030323","02311030330","02311030331","02311030332","02311030333","02311031002","02311031003","02311031020","02311031021","02311031022","02311031023","02311031200","02311031201","02311031202","02311031203","02311032011","02311032013","02311032031","02311032100","02311032101","02311032102","02311032103","02311032110","02311032111","02311032112","02311032113","02311032120","02311032121","02311032130","02311032131","02311032223","02311032232","02311032233","02311032322","02311032323","02311033301","02311033303","02311033310","02311033311","02311033312","02311033313","02311033321","02311033323","02311033330","02311033331","02311033332","02311033333","02311100000","02311100001","02311100003","02311100010","02311100011","02311100012","02311100013","02311100100","02311100110","02311100111","02311100112","02311100231","02311100233","02311100320","02311100321","02311100322","02311100323","02311101000","02311101001","02311101003","02311101010","02311101011","02311101101","02311101103","02311101110","02311101111","02311101112","02311101113","02311101130","02311101131","02311101132","02311101133","02311102011","02311102012","02311102013","02311102030","02311102031","02311102032","02311102033","02311102100","02311102101","02311102102","02311102103","02311102110","02311102112","02311102120","02311102121","02311102122","02311102123","02311102130","02311102131","02311102132","02311102133","02311102202","02311102210","02311102211","02311102212","02311102213","02311102220","02311102221","02311102222","02311102223","02311102230","02311102231","02311102232","02311102233","02311102300","02311102301","02311102302","02311102303","02311102310","02311102311","02311102312","02311102313","02311102320","02311102321","02311102322","02311102323","02311102330","02311102331","02311102332","02311102333","02311103020","02311103022","02311103200","02311103202","02311103220","02311103222","02311103233","02311103320","02311103321","02311103322","02311103323","02311103330","02311103332","02311110000","02311110001","02311110002","02311110003","02311110010","02311110011","02311110012","02311110013","02311110020","02311110021","02311110022","02311110023","02311110030","02311110031","02311110032","02311110033","02311110100","02311110102","02311110110","02311110111","02311110112","02311110113","02311110120","02311110122","02311111000","02311111001","02311111002","02311111003","02311111010","02311111012","02311111020","02311111021","02311111113","02311111303","02311111312","02311111313","02311111320","02311111321","02311111322","02311111323","02311111330","02311111331","02311111332","02311111333","02311112002","02311112003","02311112012","02311112020","02311112021","02311112022","02311112023","02311112030","02311112031","02311112032","02311112033","02311112122","02311112123","02311112132","02311112133","02311112200","02311112201","02311112203","02311112210","02311112211","02311112212","02311112213","02311112221","02311112223","02311112230","02311112231","02311112232","02311112233","02311112300","02311112301","02311112302","02311112303","02311112310","02311112311","02311112312","02311112313","02311112320","02311112321","02311112330","02311112331","02311113011","02311113013","02311113100","02311113101","02311113102","02311113103","02311113110","02311113111","02311113112","02311113113","02311113120","02311113121","02311113122","02311113123","02311113130","02311113131","02311113132","02311113133","02311113200","02311113202","02311113220","02311113232","02311113233","02311113321","02311113322","02311113323","02311113330","02311113331","02311113332","02311113333","02311120010","02311120011","02311120100","02311120101","02311120103","02311120110","02311120111","02311120112","02311120113","02311120121","02311120130","02311120131","02311121000","02311121002","02311121011","02311121013","02311121020","02311121031","02311121100","02311121101","02311121102","02311121103","02311121110","02311121112","02311121120","02311121121","02311121130","02311122123","02311122131","02311122132","02311122133","02311122301","02311122310","02311122311","02311123013","02311123031","02311123033","02311123102","02311123103","02311123112","02311123120","02311123121","02311123122","02311123123","02311123130","02311123132","02311123200","02311123211","02311123300","02311123301","02311123310","02311130010","02311130011","02311130020","02311130021","02311130022","02311130023","02311130030","02311130032","02311130033","02311130200","02311130201","02311130202","02311130203","02311130210","02311130211","02311130212","02311130213","02311130221","02311130230","02311130231","02311131002","02311131003","02311131010","02311131011","02311131012","02311131013","02311131021","02311131023","02311131030","02311131031","02311131032","02311131033","02311131100","02311131101","02311131102","02311131103","02311131110","02311131111","02311131112","02311131113","02311131120","02311131121","02311131122","02311131123","02311131130","02311131131","02311131132","02311131133","02311131201","02311131211","02311131213","02311131300","02311131301","02311131302","02311131303","02311131310","02311131311","02311131312","02311131313","02311131320","02311131321","02311131322","02311131323","02311131330","02311131331","02311131332","02311131333","02311133000","02311133001","02311133002","02311133003","02311133010","02311133011","02311133012","02311133013","02311133020","02311133021","02311133023","02311133030","02311133031","02311133032","02311133033","02311133100","02311133101","02311133102","02311133103","02311133110","02311133111","02311133112","02311133113","02311133120","02311133121","02311133122","02311133123","02311133130","02311133131","02311133132","02311133133","02311133201","02311133210","02311133211","02311133212","02311133213","02311133231","02311133300","02311133302","02311133303","02311133312","02311133320","02311133321","02311133322","02311133323","02311133330","02311133331","02311133332","02311133333","02311203123","02311203132","02311203133","02311203301","02311203303","02311203310","02311203311","02311203312","02311203313","02311203321","02311203330","02311203331","02311203332","02311203333","02311210001","02311210003","02311210010","02311210011","02311210012","02311210013","02311210021","02311210023","02311210030","02311210031","02311210032","02311210033","02311210100","02311210101","02311210102","02311210103","02311210120","02311210121","02311210122","02311210123","02311210130","02311210131","02311210132","02311210133","02311210231","02311210232","02311210233","02311210301","02311210302","02311210303","02311210310","02311210311","02311210312","02311210313","02311210320","02311210321","02311210322","02311210323","02311210330","02311210331","02311210332","02311210333","02311211020","02311211021","02311211022","02311211023","02311211030","02311211031","02311211032","02311211033","02311211101","02311211103","02311211110","02311211111","02311211112","02311211113","02311211120","02311211121","02311211122","02311211123","02311211130","02311211131","02311211132","02311211133","02311211200","02311211201","02311211202","02311211203","02311211210","02311211212","02311211300","02311211301","02311211303","02311211310","02311211311","02311211312","02311211313","02311212001","02311212003","02311212010","02311212011","02311212012","02311212013","02311212021","02311212022","02311212023","02311212030","02311212031","02311212032","02311212033","02311212100","02311212101","02311212102","02311212103","02311212110","02311212111","02311212112","02311212113","02311212120","02311212121","02311212122","02311212123","02311212130","02311212131","02311212132","02311212133","02311212200","02311212201","02311212202","02311212203","02311212210","02311212211","02311212212","02311212213","02311212220","02311212221","02311212222","02311212223","02311212230","02311212231","02311212232","02311212233","02311212300","02311212301","02311212302","02311212303","02311212310","02311212311","02311212312","02311212313","02311212320","02311212321","02311212322","02311212323","02311212330","02311212331","02311212332","02311212333","02311213020","02311213022","02311213023","02311213032","02311213033","02311213200","02311213201","02311213202","02311213203","02311213210","02311213211","02311213212","02311213213","02311213220","02311213221","02311213222","02311213223","02311213230","02311213231","02311213232","02311213233","02311221100","02311221101","02311221102","02311221103","02311221110","02311221111","02311221112","02311221113","02311221120","02311221121","02311221122","02311221123","02311221130","02311221131","02311221132","02311221133","02311222102","02311222120","02311222121","02311222122","02311222123","02311222132","02311222133","02311222220","02311222221","02311222222","02311222223","02311222230","02311222231","02311222232","02311222233","02311222300","02311222301","02311222310","02311222311","02311222312","02311222313","02311222320","02311222322","02311222323","02311222330","02311222331","02311222332","02311222333","02311223022","02311223023","02311223113","02311223131","02311223133","02311223200","02311223201","02311223202","02311223203","02311223220","02311223221","02311223222","02311223223","02311223311","02311223312","02311223313","02311223330","02311223331","02311223333","02311230001","02311230002","02311230010","02311230011","02311230020","02311230022","02311230100","02311230101","02311230102","02311230103","02311230110","02311230111","02311230112","02311230113","02311230120","02311230121","02311230122","02311230123","02311230130","02311230131","02311230132","02311230133","02311230212","02311230213","02311230230","02311230231","02311230232","02311230233","02311230301","02311230302","02311230303","02311230310","02311230311","02311230312","02311230313","02311230320","02311230321","02311230322","02311230323","02311230330","02311230331","02311230332","02311230333","02311231000","02311231001","02311231002","02311231003","02311231010","02311231011","02311231012","02311231013","02311231020","02311231021","02311231022","02311231023","02311231030","02311231031","02311231032","02311231033","02311231100","02311231101","02311231102","02311231103","02311231110","02311231112","02311231120","02311231121","02311231122","02311231123","02311231130","02311231131","02311231132","02311231133","02311231200","02311231201","02311231202","02311231203","02311231210","02311231211","02311231212","02311231213","02311231220","02311231221","02311231222","02311231223","02311231230","02311231231","02311231232","02311231233","02311231300","02311231301","02311231302","02311231303","02311231310","02311231311","02311231312","02311231313","02311231320","02311231321","02311231322","02311231323","02311231330","02311231331","02311231332","02311231333","02311232000","02311232001","02311232002","02311232003","02311232010","02311232011","02311232012","02311232013","02311232020","02311232021","02311232022","02311232023","02311232030","02311232031","02311232032","02311232033","02311232100","02311232101","02311232102","02311232103","02311232110","02311232111","02311232112","02311232113","02311232120","02311232121","02311232122","02311232123","02311232130","02311232131","02311232132","02311232133","02311232200","02311232201","02311232202","02311232203","02311232210","02311232211","02311232212","02311232213","02311232220","02311232221","02311232222","02311232223","02311232230","02311232231","02311232232","02311232233","02311232300","02311232301","02311232302","02311232303","02311232310","02311232311","02311232312","02311232313","02311232320","02311232321","02311232322","02311232323","02311232330","02311232331","02311232332","02311232333","02311233000","02311233001","02311233002","02311233003","02311233010","02311233011","02311233012","02311233013","02311233020","02311233021","02311233022","02311233023","02311233030","02311233031","02311233032","02311233033","02311233100","02311233101","02311233102","02311233103","02311233110","02311233111","02311233112","02311233113","02311233120","02311233121","02311233122","02311233123","02311233130","02311233131","02311233133","02311233200","02311233201","02311233202","02311233203","02311233210","02311233211","02311233212","02311233213","02311233220","02311233221","02311233222","02311233223","02311233230","02311233231","02311233300","02311233301","02311233302","02311233303","02311300023","02311300030","02311300031","02311300032","02311300033","02311300101","02311300103","02311300110","02311300111","02311300112","02311300113","02311300120","02311300121","02311300122","02311300123","02311300130","02311300131","02311300132","02311300133","02311300201","02311300203","02311300210","02311300211","02311300212","02311300213","02311300230","02311300231","02311300232","02311300233","02311300300","02311300301","02311300302","02311300303","02311300310","02311300311","02311300312","02311300313","02311300320","02311300321","02311300322","02311300330","02311300331","02311300332","02311300333","02311301000","02311301001","02311301002","02311301003","02311301010","02311301012","02311301020","02311301021","02311301022","02311301023","02311301030","02311301032","02311301111","02311301113","02311301131","02311301133","02311301200","02311301201","02311301202","02311301203","02311301220","02311301221","02311301222","02311301223","02311301311","02311302110","02311302111","02311302112","02311302113","02311302130","02311302131","02311302132","02311302133","02311302310","02311302311","02311303000","02311303001","02311303002","02311303003","02311303020","02311303021","02311303022","02311303133","02311303311","02311310000","02311310001","02311310002","02311310003","02311310010","02311310012","02311310020","02311310021","02311310022","02311310023","02311310030","02311310032","02311310200","02311310201","02311310210","02311311100","02311311101","02311311110","02311311111","02311311333","02311312022","02311312023","02311312030","02311312031","02311312032","02311312033","02311312120","02311312122","02311312200","02311312201","02311312202","02311312203","02311312210","02311312211","02311312212","02311312213","02311312221","02311312230","02311312231","02311312232","02311312233","02311312300","02311312302","02311312320","02311312322","02311313110","02311313111","02311313112","02311313113","02311313121","02311313123","02311313130","02311313131","02311313132","02311313133","02311313233","02311313301","02311313303","02311313310","02311313311","02311313312","02311313313","02311313320","02311313321","02311313322","02311313323","02311313330","02311313331","02311313332","02311313333","02311320020","02311320021","02311320022","02311320023","02311320030","02311320031","02311320032","02311320033","02311320120","02311320122","02311320123","02311320200","02311320201","02311320202","02311320203","02311320210","02311320211","02311320212","02311320213","02311320220","02311320221","02311320222","02311320223","02311320230","02311320231","02311320232","02311320233","02311320300","02311320301","02311320302","02311320303","02311320320","02311320321","02311320322","02311320323","02311320330","02311320331","02311320332","02311320333","02311321200","02311321201","02311321202","02311321203","02311321220","02311321221","02311321222","02311321223","02311322000","02311322001","02311322002","02311322003","02311322010","02311322011","02311322012","02311322013","02311322020","02311322022","02311322023","02311322033","02311322100","02311322101","02311322102","02311322103","02311322110","02311322111","02311322112","02311322113","02311322120","02311322121","02311322122","02311322123","02311322130","02311322131","02311322132","02311322133","02311322200","02311322201","02311322203","02311322210","02311322211","02311322212","02311322213","02311322220","02311322221","02311322230","02311322231","02311322233","02311322300","02311322301","02311322302","02311322303","02311322310","02311322311","02311322312","02311322313","02311322320","02311322321","02311322322","02311322323","02311322330","02311322332","02311323000","02311323001","02311323002","02311323003","02311323010","02311323011","02311323012","02311323013","02311323020","02311323021","02311323022","02311323023","02311323030","02311323031","02311323032","02311323033","02311323100","02311323102","02311323120","02311323122","02311323131","02311323133","02311323200","02311323201","02311323202","02311323203","02311323210","02311323211","02311323212","02311323213","02311323220","02311323221","02311323230","02311323231","02311323300","02311323302","02311323311","02311323320","02311323321","02311323322","02311323323","02311323330","02311323331","02311323332","02311323333","02311331011","02311331013","02311331031","02311331033","02311331100","02311331101","02311331102","02311331103","02311331110","02311331111","02311331112","02311331113","02311331120","02311331121","02311331122","02311331123","02311331130","02311331131","02311331132","02311331133","02311331201","02311331203","02311331210","02311331211","02311331212","02311331213","02311331221","02311331230","02311331231","02311331232","02311331233","02311331300","02311331301","02311331302","02311331303","02311331310","02311331311","02311331312","02311331313","02311331320","02311331321","02311331322","02311331323","02311331330","02311331331","02311331332","02311331333","02311332020","02311332021","02311332022","02311332023","02311332030","02311332031","02311332032","02311332033","02311332100","02311332101","02311332102","02311332103","02311332110","02311332111","02311332112","02311332113","02311332120","02311332121","02311332122","02311332123","02311332130","02311332131","02311332132","02311332200","02311332201","02311332210","02311332211","02311332212","02311332213","02311332230","02311332231","02311332300","02311332301","02311332302","02311332310","02311332320","02311333001","02311333003","02311333010","02311333011","02311333012","02311333013","02311333021","02311333023","02311333030","02311333031","02311333032","02311333033","02311333100","02311333101","02311333102","02311333103","02311333110","02311333111","02311333112","02311333113","02311333120","02311333121","02311333122","02311333123","02311333130","02311333131","02311333132","02311333133","02311333210","02311333211","02311333212","02311333213","02311333222","02311333223","02311333230","02311333231","02311333232","02311333233","02311333300","02311333301","02311333302","02311333303","02311333310","02311333311","02311333312","02311333313","02311333320","02311333321","02311333322","02311333323","02311333330","02311333331","02311333332","02311333333","02312001000","02312001001","02312001002","02312100001","02312100003","02312100010","02312100011","02312100012","02312100013","02312100031","02312100033","02312100100","02312100101","02312100102","02312100103","02312100110","02312100111","02312100112","02312100113","02312100120","02312100121","02312100122","02312100123","02312100130","02312100131","02312100132","02312100133","02312100300","02312100301","02312100303","02312100310","02312100311","02312100312","02312100313","02312100330","02312100331","02312100333","02312101000","02312101002","02312101003","02312101010","02312101011","02312101012","02312101013","02312101020","02312101021","02312101022","02312101023","02312101030","02312101031","02312101032","02312101033","02312101200","02312101201","02312101202","02312101203","02312101210","02312101211","02312101212","02312101213","02312101220","02312101221","02312101222","02312101223","02312101230","02312101231","02312101232","02312101233","02312103000","02312103001","02312103010","02312103011","02312103012","02312103013","02312111000","02312111001","02312111002","02312111003","02312111010","02312111011","02312111102","02312111103","02312111111","02312111112","02312111113","02312111120","02312111121","02312111122","02312111123","02312111130","02312111131","02312111132","02312111133","02312111203","02312111212","02312111213","02312111221","02312111230","02312111231","02312111300","02312111301","02312111302","02312111303","02312111310","02312111311","02312111312","02312111313","02312111320","02312111321","02312111322","02312111323","02312111330","02312111331","02312111332","02312111333","02312112003","02312112010","02312112011","02312112012","02312112013","02312112021","02312112023","02312112030","02312112031","02312112032","02312112033","02312112100","02312112102","02312112103","02312112120","02312112121","02312112122","02312112123","02312112130","02312112131","02312112132","02312112133","02312112201","02312112203","02312112210","02312112211","02312112212","02312112213","02312112221","02312112223","02312112230","02312112231","02312112232","02312112233","02312112300","02312112301","02312112302","02312112303","02312112310","02312112311","02312112312","02312112313","02312112320","02312112321","02312112322","02312112323","02312112330","02312112331","02312112332","02312112333","02312113022","02312113100","02312113101","02312113103","02312113110","02312113111","02312113112","02312113113","02312113120","02312113121","02312113122","02312113123","02312113130","02312113131","02312113132","02312113133","02312113200","02312113201","02312113202","02312113203","02312113212","02312113220","02312113221","02312113222","02312113230","02312130001","02312130003","02312130010","02312130011","02312130012","02312130013","02312130021","02312130030","02312130031","02312130033","02312130100","02312130101","02312130102","02312130110","02312130111","02312130112","02312130113","02312130120","02312130121","02312130122","02312130123","02312130130","02312130132","02312130301","02313000000","02313000001","02313000002","02313000003","02313000010","02313000011","02313000012","02313000013","02313000020","02313000021","02313000022","02313000023","02313000030","02313000031","02313000032","02313000033","02313000100","02313000101","02313000102","02313000103","02313000120","02313000121","02313000122","02313000123","02313000130","02313000131","02313000132","02313000133","02313000200","02313000201","02313000202","02313000203","02313000210","02313000211","02313000212","02313000213","02313000220","02313000221","02313000222","02313000223","02313000230","02313000231","02313000232","02313000233","02313000300","02313000301","02313000302","02313000303","02313000310","02313000311","02313000312","02313000313","02313000320","02313000321","02313000322","02313000323","02313000330","02313000331","02313000332","02313000333","02313001020","02313001021","02313001022","02313001023","02313001030","02313001031","02313001032","02313001033","02313001122","02313001200","02313001201","02313001202","02313001203","02313001210","02313001211","02313001212","02313001213","02313001220","02313001221","02313001222","02313001223","02313001230","02313001231","02313001232","02313001233","02313001300","02313001302","02313001313","02313001320","02313001321","02313001322","02313001323","02313001331","02313001333","02313002000","02313002001","02313002002","02313002003","02313002010","02313002011","02313002012","02313002013","02313002020","02313002021","02313002022","02313002023","02313002030","02313002031","02313002032","02313002033","02313002100","02313002101","02313002102","02313002103","02313002110","02313002111","02313002112","02313002113","02313002120","02313002121","02313002122","02313002123","02313002130","02313002131","02313002132","02313002133","02313003000","02313003001","02313003002","02313003003","02313003010","02313003011","02313003012","02313003013","02313003020","02313003021","02313003022","02313003023","02313003030","02313003031","02313003032","02313003033","02313003100","02313003101","02313003102","02313003103","02313003111","02313003113","02313003122","02313003123","02313003200","02313003201","02313003202","02313003203","02313003210","02313003211","02313003212","02313003213","02313003300","02313003301","02313003302","02313003303","02313003311","02313003312","02313003313","02313003320","02313003321","02313003322","02313003323","02313003330","02313003331","02313003332","02313003333","02313010000","02313010001","02313010010","02313010013","02313010021","02313010023","02313010030","02313010031","02313010033","02313010101","02313010102","02313010103","02313010110","02313010111","02313010112","02313010113","02313010120","02313010121","02313010122","02313010123","02313010130","02313010131","02313010132","02313010133","02313010201","02313010202","02313010203","02313010212","02313010213","02313010220","02313010221","02313010222","02313010223","02313010230","02313010231","02313010232","02313010233","02313010301","02313010302","02313010303","02313010310","02313010311","02313010312","02313010320","02313010321","02313010322","02313010323","02313010330","02313010332","02313011000","02313011001","02313011002","02313011003","02313011020","02313011021","02313011022","02313011023","02313011200","02313011333","02313012000","02313012001","02313012002","02313012003","02313012010","02313012011","02313012012","02313012013","02313012020","02313012021","02313012023","02313012030","02313012031","02313012032","02313012033","02313012100","02313012101","02313012102","02313012103","02313012110","02313012111","02313012112","02313012113","02313012120","02313012121","02313012122","02313012123","02313012130","02313012131","02313012200","02313012201","02313012202","02313012203","02313012210","02313012211","02313012212","02313012213","02313012220","02313012221","02313012222","02313012223","02313012230","02313012231","02313012232","02313012233","02313012300","02313012301","02313012302","02313012311","02313012312","02313012313","02313012320","02313012321","02313012322","02313012323","02313012330","02313012331","02313012332","02313012333","02313013021","02313013022","02313013023","02313013030","02313013031","02313013032","02313013033","02313013103","02313013110","02313013111","02313013112","02313013113","02313013120","02313013121","02313013122","02313013123","02313013130","02313013131","02313013132","02313013133","02313013200","02313013201","02313013202","02313013203","02313013210","02313013211","02313013212","02313013213","02313013220","02313013221","02313013222","02313013223","02313013230","02313013231","02313013300","02313013301","02313013302","02313013303","02313013310","02313013311","02313013312","02313013313","02313013320","02313013321","02313013322","02313013323","02313013330","02313013331","02313013332","02313013333","02313020312","02313020313","02313020330","02313020331","02313020332","02313020333","02313021100","02313021101","02313021102","02313021103","02313021110","02313021111","02313021112","02313021113","02313021120","02313021121","02313021130","02313021131","02313021133","02313021202","02313021203","02313021212","02313021220","02313021221","02313021222","02313021223","02313021230","02313021232","02313022101","02313022103","02313022110","02313022111","02313022112","02313022113","02313022130","02313022131","02313022133","02313023000","02313023001","02313023002","02313023003","02313023010","02313023012","02313023013","02313023020","02313023021","02313023022","02313023023","02313023030","02313023031","02313023032","02313023033","02313023102","02313023103","02313023112","02313023120","02313023121","02313023122","02313023123","02313023130","02313023132","02313023200","02313023201","02313023203","02313023210","02313023211","02313023212","02313023213","02313023221","02313023230","02313023231","02313023232","02313023233","02313023300","02313023301","02313023302","02313023303","02313023310","02313023312","02313023313","02313023320","02313023321","02313023322","02313023323","02313023330","02313023331","02313023332","02313023333","02313030000","02313030001","02313030002","02313030003","02313030010","02313030011","02313030012","02313030013","02313030020","02313030021","02313030022","02313030100","02313030102","02313030333","02313031101","02313031103","02313031110","02313031111","02313031112","02313031113","02313031130","02313031131","02313031132","02313031133","02313031222","02313031223","02313031311","02313032013","02313032030","02313032031","02313032032","02313032033","02313032102","02313032111","02313032112","02313032113","02313032120","02313032121","02313032122","02313032123","02313032130","02313032131","02313032132","02313032133","02313032210","02313032211","02313032213","02313032222","02313032300","02313032301","02313032302","02313032303","02313032310","02313032311","02313032312","02313032313","02313033000","02313033001","02313033002","02313033003","02313033020","02313033021","02313033022","02313100011","02313100100","02313100101","02313100110","02313100213","02313100221","02313100222","02313100223","02313100230","02313100231","02313100232","02313100233","02313100302","02313100303","02313100312","02313100313","02313100320","02313100321","02313100322","02313100323","02313100330","02313100331","02313100332","02313100333","02313101001","02313101003","02313101010","02313101011","02313101012","02313101013","02313101021","02313101030","02313101031","02313101032","02313101033","02313101100","02313101101","02313101102","02313101103","02313101110","02313101111","02313101112","02313101113","02313101120","02313101121","02313101122","02313101123","02313101130","02313101131","02313101132","02313101133","02313101201","02313101202","02313101203","02313101210","02313101211","02313101212","02313101213","02313101220","02313101221","02313101222","02313101223","02313101230","02313101231","02313101232","02313101233","02313101300","02313101301","02313101302","02313101310","02313101311","02313101313","02313101320","02313101331","02313101333","02313102000","02313102001","02313102002","02313102003","02313102010","02313102011","02313102012","02313102013","02313102020","02313102021","02313102022","02313102023","02313102030","02313102031","02313102032","02313102033","02313102100","02313102101","02313102102","02313102103","02313102110","02313102112","02313102113","02313102120","02313102121","02313102122","02313102123","02313102130","02313102131","02313102132","02313102133","02313102200","02313102201","02313102202","02313102203","02313102210","02313102211","02313102212","02313102213","02313102220","02313102221","02313102222","02313102223","02313102230","02313102231","02313102232","02313102233","02313102300","02313102301","02313102302","02313102303","02313102310","02313102311","02313102312","02313102313","02313102320","02313102321","02313102322","02313102323","02313102330","02313102331","02313102332","02313102333","02313103000","02313103001","02313103002","02313103003","02313103010","02313103011","02313103012","02313103013","02313103020","02313103021","02313103022","02313103023","02313103030","02313103031","02313103032","02313103033","02313103102","02313103120","02313103121","02313103122","02313103123","02313103130","02313103132","02313103133","02313103200","02313103201","02313103202","02313103203","02313103210","02313103211","02313103212","02313103220","02313103221","02313103223","02313103230","02313103232","02313103300","02313103301","02313103310","02313110010","02313110011","02313110012","02313110013","02313110020","02313110022","02313110023","02313110030","02313110031","02313110032","02313110033","02313110100","02313110102","02313110103","02313110112","02313110113","02313110120","02313110121","02313110122","02313110123","02313110130","02313110131","02313110132","02313110133","02313110200","02313110201","02313110202","02313110203","02313110210","02313110211","02313110212","02313110213","02313110220","02313110221","02313110222","02313110223","02313110230","02313110231","02313110232","02313110300","02313110301","02313110303","02313110310","02313110311","02313110312","02313110313","02313110330","02313110331","02313111000","02313111001","02313111002","02313111003","02313111010","02313111011","02313111012","02313111020","02313111021","02313111022","02313111023","02313111030","02313111031","02313111032","02313111033","02313111101","02313111102","02313111103","02313111110","02313111111","02313111112","02313111113","02313111120","02313111121","02313111122","02313111123","02313111130","02313111131","02313111132","02313111133","02313111200","02313111201","02313111202","02313111203","02313111210","02313111211","02313111212","02313111213","02313111220","02313111221","02313111223","02313111230","02313111231","02313111232","02313111233","02313111300","02313111301","02313111302","02313111303","02313111310","02313111311","02313111312","02313111313","02313111320","02313111321","02313111330","02313111331","02313111332","02313111333","02313112031","02313112032","02313112033","02313112120","02313112121","02313112122","02313112123","02313112210","02313112211","02313112300","02313112301","02313112302","02313112303","02313112310","02313112312","02313113000","02313113001","02313113002","02313113003","02313113010","02313113011","02313113012","02313113020","02313113021","02313113023","02313113030","02313113031","02313113032","02313113033","02313113110","02313113111","02313113112","02313113113","02313113121","02313113122","02313113123","02313113130","02313113131","02313113132","02313113133","02313113210","02313113211","02313113212","02313113213","02313113230","02313113231","02313113232","02313113233","02313113300","02313113301","02313113302","02313113303","02313113310","02313113311","02313113312","02313113313","02313113320","02313113321","02313113322","02313113323","02313113330","02313113331","02313113332","02313113333","02313120000","02313120001","02313120002","02313120003","02313120010","02313120011","02313120012","02313120013","02313120020","02313120021","02313120022","02313120023","02313120030","02313120031","02313120032","02313120033","02313120100","02313120101","02313120102","02313120103","02313120110","02313120111","02313120120","02313120200","02313120201","02313131100","02313131101","02313131103","02313131110","02313131111","02313131112","02313131113","02313131121","02313131130","02313131131","02313131132","02313131133","02313201010","02313201011","02313201012","02313201013","02313201031","02313201033","02313201100","02313201101","02313201102","02313201103","02313201110","02313201111","02313201112","02313201113","02313201120","02313201121","02313201122","02313201123","02313201130","02313201131","02313201132","02313201133","02313201300","02313201301","02313201310","02313201311","02313201312","02313201313","02313210000","02313210002","02313210020","02313210022","02313210023","02313210032","02313210123","02313210132","02313210200","02313210201","02313210202","02313210203","02313210210","02313210211","02313210212","02313210213","02313210220","02313210221","02313210230","02313210231","02313210300","02313210301","02313210302","02313210303","02313210310","02313210311","02313210312","02313210313","02313210320","02313210321","02313210322","02313210323","02313210330","02313210331","02313210332","02313210333","02313212101","02313212110","03022000220","03022000222","03022000223","03022000232","03022000233","03022002000","03022002001","03022002002","03022002003","03022002010","03022023330","03022023331","03022023332","03022023333","03022032201","03022032202","03022032203","03022032210","03022032212","03022032220","03022032221","03022032222","03022032223","03022032230","03022200000","03022200001","03022200002","03022200003","03022200010","03022200012","03022200021","03022200030","03022200132","03022200133","03022200310","03022200311","03022200312","03022200313","03022200330","03022200331","03022200332","03022200333","03022201022","03022201023","03022201032","03022201033","03022201102","03022201103","03022201110","03022201111","03022201112","03022201113","03022201120","03022201121","03022201122","03022201123","03022201130","03022201131","03022201132","03022201133","03022201200","03022201201","03022201202","03022201203","03022201210","03022201211","03022201212","03022201213","03022201220","03022201221","03022201222","03022201223","03022201230","03022201231","03022201232","03022201233","03022201300","03022201301","03022201302","03022201303","03022201320","03022201321","03022201322","03022202110","03022202111","03022202112","03022202113","03022202130","03022202131","03022202132","03022202133","03022202203","03022202212","03022202213","03022202220","03022202221","03022202222","03022202223","03022202230","03022202231","03022202232","03022202233","03022202302","03022202303","03022202310","03022202311","03022202320","03022202321","03022202322","03022202323","03022202330","03022202331","03022202332","03022202333","03022203000","03022203001","03022203002","03022203003","03022203010","03022203012","03022203013","03022203020","03022203021","03022203022","03022203023","03022203030","03022203031","03022203032","03022203033","03022203102","03022203103","03022203120","03022203121","03022203122","03022203123","03022203200","03022203201","03022203202","03022203203","03022203210","03022203211","03022203212","03022203213","03022203220","03022203221","03022203222","03022203223","03022203230","03022203231","03022203232","03022203233","03022203300","03022203301","03022203302","03022203320","03022203322","03022210000","03022210001","03022210002","03022210020","03022212211","03022212213","03022212300","03022212301","03022212302","03022212303","03022212310","03022212312","03022212313","03022212320","03022212321","03022212322","03022212323","03022212330","03022212331","03022212332","03022212333","03022213202","03022213203","03022213212","03022213220","03022213221","03022213222","03022213223","03022213230","03022213231","03022213232","03022213233","03022213311","03022213313","03022213331","03022213333","03022220000","03022220001","03022220002","03022220003","03022220010","03022220011","03022220012","03022220013","03022220020","03022220021","03022220030","03022220031","03022220033","03022220100","03022220101","03022220102","03022220103","03022220110","03022220111","03022220112","03022220113","03022220120","03022220121","03022220122","03022220123","03022220130","03022220131","03022220132","03022220133","03022220211","03022220213","03022220231","03022220233","03022220300","03022220301","03022220302","03022220303","03022220310","03022220311","03022220312","03022220313","03022220320","03022220321","03022220322","03022220323","03022220330","03022220331","03022220332","03022220333","03022221000","03022221001","03022221002","03022221003","03022221010","03022221011","03022221012","03022221013","03022221020","03022221021","03022221022","03022221023","03022221030","03022221031","03022221032","03022221033","03022221100","03022221102","03022221120","03022221121","03022221122","03022221200","03022221201","03022221202","03022221203","03022221210","03022221211","03022221212","03022221213","03022221220","03022221221","03022221222","03022221223","03022221230","03022221231","03022221232","03022221233","03022221300","03022221302","03022221320","03022221322","03022221323","03022222011","03022222100","03022222111","03022222113","03022222122","03022222123","03022222131","03022222132","03022222133","03022222300","03022222301","03022222302","03022222303","03022222310","03022222311","03022222312","03022222313","03022222321","03022222330","03022222331","03022222332","03022222333","03022223000","03022223001","03022223002","03022223003","03022223010","03022223011","03022223012","03022223013","03022223020","03022223021","03022223022","03022223023","03022223030","03022223031","03022223032","03022223033","03022223100","03022223101","03022223102","03022223103","03022223120","03022223121","03022223122","03022223123","03022223130","03022223131","03022223132","03022223133","03022223200","03022223201","03022223202","03022223203","03022223210","03022223211","03022223212","03022223213","03022223220","03022223221","03022223222","03022223223","03022223230","03022223231","03022223232","03022223233","03022223300","03022223301","03022223302","03022223303","03022223310","03022223311","03022223312","03022223313","03022223320","03022223321","03022223322","03022223323","03022223330","03022223331","03022223332","03022230101","03022230103","03022230110","03022230111","03022230112","03022230113","03022230121","03022230123","03022230130","03022230131","03022230132","03022230133","03022230233","03022230300","03022230301","03022230302","03022230303","03022230310","03022230311","03022230312","03022230313","03022230320","03022230321","03022230322","03022230323","03022230330","03022230331","03022230332","03022230333","03022231000","03022231001","03022231002","03022231003","03022231010","03022231011","03022231012","03022231013","03022231020","03022231021","03022231022","03022231023","03022231030","03022231031","03022231033","03022231113","03022231120","03022231121","03022231122","03022231123","03022231130","03022231131","03022231132","03022231133","03022231200","03022231201","03022231202","03022231203","03022231210","03022231211","03022231212","03022231213","03022231220","03022231221","03022231222","03022231223","03022231230","03022231231","03022231232","03022231233","03022231300","03022231301","03022231302","03022231303","03022231310","03022231311","03022231312","03022231313","03022231321","03022231323","03022231330","03022231331","03022231332","03022231333","03022232003","03022232010","03022232011","03022232012","03022232013","03022232020","03022232021","03022232022","03022232023","03022232030","03022232031","03022232032","03022232033","03022232100","03022232101","03022232102","03022232103","03022232110","03022232111","03022232112","03022232113","03022232120","03022232121","03022232122","03022232123","03022232130","03022232131","03022232132","03022232133","03022232200","03022232201","03022232202","03022232203","03022232210","03022232211","03022232300","03022232301","03022232310","03022232311","03022232312","03022232313","03022233000","03022233001","03022233002","03022233003","03022233010","03022233011","03022233020","03022233021","03022233022","03022233023","03022233111","03022233113","03022233131","03022233200","03022233201","03022233212","03022233213","03022233222","03022233223","03022233230","03022233231","03022233232","03022233233","03022233302","03022233303","03022233320","03022233321","03022233322","03022233323","03022302001","03022302003","03022302010","03022302012","03022302021","03022302022","03022302023","03022302030","03022302032","03022302033","03022302200","03022302201","03022302202","03022302203","03022302210","03022302211","03022302212","03022302213","03022302220","03022302221","03022302222","03022302223","03022302230","03022302231","03022302232","03022302233","03022302302","03022302320","03022302321","03022302322","03022302323","03022302332","03022302333","03022303220","03022303221","03022303222","03022303223","03022303230","03022303232","03022303233","03022313011","03022313012","03022313013","03022313021","03022313023","03022313030","03022313031","03022313032","03022313033","03022313100","03022313102","03022313103","03022313112","03022313113","03022313120","03022313121","03022313122","03022313123","03022313130","03022313131","03022313201","03022313210","03022313211","03022313300","03022313312","03022313313","03022313321","03022313323","03022313330","03022313331","03022313332","03022313333","03022320002","03022320003","03022320010","03022320011","03022320012","03022320013","03022320020","03022320021","03022320022","03022320023","03022320030","03022320031","03022320032","03022320033","03022320100","03022320101","03022320102","03022320103","03022320111","03022320112","03022320113","03022320120","03022320121","03022320122","03022320123","03022320130","03022320131","03022320132","03022320133","03022320200","03022320201","03022320202","03022320203","03022320210","03022320211","03022320212","03022320213","03022320220","03022320221","03022320222","03022320223","03022320230","03022320231","03022320232","03022320233","03022320300","03022320301","03022320302","03022320303","03022320310","03022320311","03022320312","03022320313","03022320320","03022320321","03022320322","03022320323","03022320330","03022320331","03022320332","03022320333","03022321000","03022321001","03022321002","03022321003","03022321010","03022321011","03022321012","03022321013","03022321020","03022321021","03022321022","03022321023","03022321030","03022321031","03022321032","03022321200","03022321201","03022321202","03022321210","03022322000","03022322001","03022322002","03022322003","03022322010","03022322011","03022322012","03022322013","03022322020","03022322021","03022322030","03022322031","03022322032","03022322033","03022322103","03022322110","03022322120","03022322121","03022322122","03022322123","03022322130","03022322131","03022322132","03022322133","03022322210","03022322211","03022322212","03022322213","03022322230","03022322231","03022322300","03022322301","03022322302","03022322303","03022322320","03022322321","03022323021","03022323022","03022323023","03022323122","03022323123","03022323132","03022323133","03022323200","03022323201","03022323202","03022323203","03022323210","03022323211","03022323212","03022323213","03022323223","03022323231","03022323232","03022323233","03022323300","03022323301","03022323302","03022323303","03022323310","03022323311","03022323312","03022323313","03022323320","03022323321","03022323322","03022323323","03022323330","03022323331","03022323332","03022323333","03022330323","03022330331","03022330332","03022330333","03022331101","03022331110","03022331111","03022331112","03022331113","03022331121","03022331123","03022331130","03022331131","03022331132","03022331133","03022331203","03022331211","03022331212","03022331213","03022331220","03022331221","03022331222","03022331223","03022331230","03022331231","03022331232","03022331233","03022331300","03022331301","03022331302","03022331303","03022331310","03022331311","03022331312","03022331313","03022331320","03022331321","03022331322","03022331323","03022331330","03022331332","03022332002","03022332003","03022332010","03022332011","03022332012","03022332013","03022332020","03022332021","03022332022","03022332023","03022332030","03022332031","03022332032","03022332033","03022332100","03022332101","03022332102","03022332103","03022332110","03022332111","03022332112","03022332113","03022332120","03022332122","03022332123","03022332132","03022332133","03022332200","03022332201","03022332202","03022332203","03022332210","03022332211","03022332212","03022332213","03022332220","03022332221","03022332222","03022332223","03022332230","03022332231","03022332232","03022332233","03022332300","03022332301","03022332302","03022332303","03022332310","03022332311","03022332312","03022332313","03022332320","03022332321","03022332322","03022332323","03022332330","03022332331","03022332332","03022332333","03022333000","03022333001","03022333002","03022333003","03022333010","03022333011","03022333012","03022333013","03022333022","03022333100","03022333101","03022333110","03022333200","03022333202","03022333220","03022333221","03022333222","03022333223","03022333230","03022333232","03023023313","03023023331","03023023333","03023032200","03023032201","03023032202","03023032203","03023032210","03023032211","03023032212","03023032213","03023032220","03023032221","03023032222","03023032223","03023032230","03023033033","03023033120","03023033121","03023033122","03023033123","03023033130","03023033132","03023033210","03023033211","03023033212","03023033213","03023033230","03023033231","03023033300","03023033301","03023033302","03023033303","03023033310","03023033312","03023033320","03023033321","03023033330","03023121001","03023121003","03023121010","03023121011","03023121012","03023121013","03023121021","03023121023","03023121030","03023121031","03023121032","03023121033","03023201313","03023201330","03023201331","03023201332","03023201333","03023202202","03023202203","03023202212","03023202213","03023202220","03023202221","03023202222","03023202223","03023202230","03023202231","03023202232","03023202233","03023202302","03023202303","03023202312","03023202313","03023202320","03023202321","03023202322","03023202323","03023202330","03023202331","03023202332","03023202333","03023203110","03023203111","03023203112","03023203113","03023203130","03023203131","03023203132","03023203133","03023203202","03023203203","03023203211","03023203212","03023203213","03023203220","03023203221","03023203222","03023203223","03023203230","03023203231","03023203232","03023203233","03023203300","03023203301","03023203302","03023203303","03023203310","03023203311","03023203312","03023203313","03023203320","03023203321","03023203322","03023203323","03023203330","03023203331","03023203332","03023203333","03023210023","03023210030","03023210031","03023210032","03023210033","03023210101","03023210103","03023210110","03023210111","03023210112","03023210113","03023210120","03023210121","03023210122","03023210123","03023210131","03023210132","03023210133","03023210201","03023210202","03023210210","03023210212","03023210213","03023210220","03023210221","03023210222","03023210223","03023210230","03023210231","03023210232","03023210233","03023210300","03023210311","03023210313","03023210322","03023210323","03023210331","03023210333","03023211000","03023211001","03023211002","03023211003","03023211010","03023211011","03023211012","03023211013","03023211020","03023211021","03023211022","03023211023","03023211030","03023211031","03023211032","03023211033","03023211100","03023211101","03023211102","03023211103","03023211110","03023211111","03023211112","03023211113","03023211120","03023211121","03023211122","03023211123","03023211130","03023211131","03023211132","03023211133","03023211200","03023211201","03023211202","03023211203","03023211210","03023211211","03023211212","03023211213","03023211220","03023211221","03023211222","03023211223","03023211230","03023211232","03023211300","03023211301","03023211302","03023211303","03023211310","03023211311","03023211312","03023211313","03023211330","03023211331","03023212000","03023212001","03023212002","03023212003","03023212010","03023212011","03023212012","03023212013","03023212020","03023212021","03023212022","03023212023","03023212030","03023212031","03023212032","03023212033","03023212100","03023212102","03023212111","03023212120","03023212122","03023212200","03023212201","03023212202","03023212203","03023212210","03023212211","03023212212","03023212213","03023212220","03023212221","03023212222","03023212223","03023212230","03023212231","03023212232","03023212233","03023212300","03023212302","03023212303","03023212312","03023212313","03023212320","03023212322","03023212330","03023212331","03023212332","03023212333","03023213000","03023213001","03023213112","03023213121","03023213123","03023213130","03023213132","03023213133","03023213203","03023213212","03023213213","03023213220","03023213221","03023213222","03023213223","03023213230","03023213231","03023213232","03023213233","03023213300","03023213301","03023213302","03023213303","03023213310","03023213311","03023213312","03023213313","03023213320","03023213321","03023213322","03023213323","03023213330","03023213331","03023213332","03023213333","03023220000","03023220001","03023220002","03023220003","03023220010","03023220011","03023220012","03023220013","03023220020","03023220021","03023220022","03023220023","03023220030","03023220031","03023220032","03023220033","03023220100","03023220101","03023220102","03023220103","03023220110","03023220111","03023220112","03023220113","03023220120","03023220122","03023220123","03023220130","03023220131","03023220132","03023220133","03023220200","03023220201","03023220202","03023220210","03023220211","03023220212","03023220213","03023220230","03023220231","03023220232","03023220233","03023220300","03023220301","03023220302","03023220303","03023220310","03023220311","03023220312","03023220313","03023220320","03023220321","03023220322","03023220323","03023220330","03023220331","03023220332","03023220333","03023221000","03023221001","03023221002","03023221003","03023221010","03023221011","03023221012","03023221013","03023221020","03023221021","03023221022","03023221023","03023221030","03023221031","03023221032","03023221033","03023221100","03023221101","03023221102","03023221103","03023221110","03023221111","03023221112","03023221113","03023221120","03023221121","03023221122","03023221123","03023221130","03023221131","03023221132","03023221200","03023221201","03023221202","03023221203","03023221210","03023221211","03023221212","03023221213","03023221220","03023221221","03023221222","03023221223","03023221230","03023221231","03023221232","03023221233","03023221300","03023221301","03023221302","03023221303","03023221310","03023221311","03023221312","03023221313","03023221320","03023221321","03023221322","03023221323","03023221330","03023221331","03023221332","03023221333","03023222010","03023222011","03023222100","03023222101","03023222110","03023222111","03023222231","03023222233","03023222302","03023222320","03023222321","03023222322","03023222323","03023222330","03023222332","03023222333","03023223000","03023223001","03023223010","03023223011","03023223100","03023223101","03023223110","03023223111","03023223222","03023223223","03023223301","03023223303","03023223310","03023223311","03023223312","03023223313","03023223321","03023223323","03023223330","03023223331","03023223332","03023223333","03023230000","03023230001","03023230002","03023230003","03023230010","03023230011","03023230012","03023230013","03023230020","03023230021","03023230022","03023230023","03023230030","03023230031","03023230100","03023230102","03023230110","03023230111","03023230112","03023230113","03023230120","03023230131","03023230132","03023230133","03023230200","03023230202","03023230203","03023230212","03023230213","03023230220","03023230221","03023230222","03023230223","03023230230","03023230231","03023230232","03023230233","03023230300","03023230301","03023230302","03023230303","03023230310","03023230311","03023230312","03023230313","03023230320","03023230321","03023230322","03023230323","03023230330","03023230331","03023230332","03023230333","03023231000","03023231001","03023231002","03023231003","03023231010","03023231011","03023231012","03023231013","03023231020","03023231021","03023231023","03023231030","03023231031","03023231032","03023231033","03023231100","03023231101","03023231102","03023231103","03023231110","03023231111","03023231112","03023231113","03023231120","03023231121","03023231122","03023231123","03023231130","03023231131","03023231132","03023231133","03023231200","03023231201","03023231202","03023231203","03023231210","03023231211","03023231212","03023231213","03023231220","03023231221","03023231222","03023231223","03023231230","03023231231","03023231232","03023231233","03023231300","03023231301","03023231302","03023231303","03023231310","03023231311","03023231312","03023231313","03023231320","03023231321","03023231322","03023231323","03023231330","03023231331","03023231332","03023231333","03023232000","03023232001","03023232010","03023232011","03023232013","03023232022","03023232023","03023232032","03023232100","03023232101","03023232102","03023232103","03023232110","03023232111","03023232112","03023232113","03023232120","03023232121","03023232122","03023232123","03023232130","03023232131","03023232132","03023232133","03023232200","03023232201","03023232202","03023232203","03023232210","03023232212","03023232213","03023232220","03023232221","03023232222","03023232223","03023232230","03023232231","03023232232","03023232233","03023232301","03023232302","03023232310","03023232311","03023232312","03023232313","03023232320","03023232321","03023232322","03023232323","03023232331","03023232332","03023232333","03023233000","03023233002","03023233010","03023233011","03023233012","03023233013","03023233020","03023233021","03023233022","03023233023","03023233030","03023233031","03023233032","03023233033","03023233100","03023233101","03023233102","03023233103","03023233110","03023233111","03023233112","03023233113","03023233120","03023233121","03023233122","03023233123","03023233130","03023233131","03023233132","03023233133","03023233200","03023233201","03023233202","03023233203","03023233210","03023233211","03023233212","03023233213","03023233220","03023233221","03023233222","03023233223","03023233230","03023233231","03023233232","03023233233","03023233300","03023233301","03023233302","03023233303","03023233310","03023233311","03023233312","03023233313","03023233320","03023233321","03023233322","03023233323","03023233330","03023233331","03023233332","03023233333","03023300020","03023300022","03023300023","03023300200","03023300201","03023300202","03023300203","03023300210","03023300212","03023300220","03023300221","03023300222","03023300223","03023301313","03023301322","03023301323","03023301330","03023301331","03023301332","03023301333","03023302211","03023302213","03023302231","03023302300","03023302301","03023302302","03023302303","03023302310","03023302311","03023302312","03023302313","03023302320","03023302321","03023302323","03023302330","03023302331","03023302332","03023302333","03023303100","03023303101","03023303102","03023303103","03023303110","03023303111","03023303112","03023303113","03023303120","03023303121","03023303122","03023303123","03023303130","03023303131","03023303132","03023303133","03023303200","03023303201","03023303202","03023303203","03023303212","03023303213","03023303220","03023303221","03023303222","03023303223","03023303230","03023303231","03023303232","03023303233","03023303300","03023303301","03023303302","03023303303","03023303310","03023303311","03023303312","03023303313","03023303320","03023303321","03023303322","03023303323","03023303330","03023303331","03023303332","03023310023","03023310031","03023310032","03023310033","03023310120","03023310122","03023310123","03023310200","03023310201","03023310202","03023310203","03023310210","03023310211","03023310212","03023310213","03023310220","03023310221","03023310222","03023310223","03023310230","03023310231","03023310232","03023310233","03023310300","03023310301","03023310302","03023310303","03023310320","03023310322","03023312000","03023312001","03023312002","03023312003","03023312010","03023312011","03023312012","03023312013","03023312020","03023312021","03023312022","03023312200","03023312202","03023320020","03023320021","03023320022","03023320023","03023320030","03023320031","03023320032","03023320033","03023320101","03023320103","03023320110","03023320111","03023320112","03023320113","03023320120","03023320121","03023320122","03023320123","03023320130","03023320131","03023320132","03023320133","03023320200","03023320201","03023320202","03023320203","03023320210","03023320211","03023320212","03023320213","03023320220","03023320221","03023320222","03023320223","03023320230","03023320231","03023320232","03023320233","03023320300","03023320301","03023320302","03023320303","03023320310","03023320311","03023320312","03023320313","03023320320","03023320321","03023320322","03023320323","03023320330","03023320331","03023320332","03023320333","03023321000","03023321001","03023321002","03023321003","03023321010","03023321011","03023321012","03023321013","03023321020","03023321021","03023321022","03023321023","03023321030","03023321031","03023321032","03023321033","03023321100","03023321101","03023321102","03023321103","03023321110","03023321120","03023321121","03023321122","03023321123","03023321130","03023321132","03023321200","03023321201","03023321202","03023321203","03023321210","03023321211","03023321212","03023321213","03023321220","03023321221","03023321222","03023321223","03023321230","03023321231","03023321232","03023321233","03023321300","03023321301","03023321302","03023321303","03023321310","03023321320","03023321321","03023321322","03023321323","03023321330","03023321332","03023322000","03023322001","03023322002","03023322003","03023322010","03023322011","03023322012","03023322013","03023322020","03023322021","03023322022","03023322023","03023322030","03023322031","03023322032","03023322033","03023322100","03023322101","03023322102","03023322103","03023322110","03023322111","03023322112","03023322113","03023322120","03023322121","03023322122","03023322123","03023322130","03023322131","03023322132","03023322133","03023322200","03023322201","03023322202","03023322203","03023322210","03023322211","03023322212","03023322213","03023322220","03023322221","03023322222","03023322223","03023322230","03023322231","03023322232","03023322233","03023322300","03023322301","03023322302","03023322303","03023322310","03023322311","03023322312","03023322313","03023322320","03023322321","03023322322","03023322323","03023322330","03023322332","03023322333","03023323000","03023323001","03023323002","03023323003","03023323010","03023323011","03023323012","03023323013","03023323020","03023323021","03023323022","03023323023","03023323030","03023323031","03023323032","03023323033","03023323100","03023323101","03023323102","03023323103","03023323110","03023323111","03023323112","03023323113","03023323120","03023323121","03023323122","03023323123","03023323130","03023323131","03023323132","03023323133","03023323200","03023323201","03023323202","03023323203","03023323210","03023323211","03023323220","03023323221","03023323222","03023323223","03023323300","03023323301","03023323302","03023323303","03023323310","03023323311","03023323312","03023323313","03023323320","03023323321","03023330222","03023330223","03023332000","03023332001","03023332002","03023332003","03023332010","03023332012","03023332020","03023332021","03023332022","03023332023","03023332030","03023332032","03023332200","03023332201","03023332202","03023332203","03023332210","03023332212","03023332220","03023332221","03023332230","03032021332","03032021333","03032022100","03032022101","03032022102","03032022103","03032022331","03032022333","03032023110","03032023111","03032023202","03032023220","03032023222","03032030222","03032031220","03032031221","03032032000","03032121220","03032121221","03032121222","03032121223","03032121232","03032123001","03032210103","03032210112","03032210121","03032210123","03032210130","03032210131","03032210132","03032210133","03032210301","03032210310","03032210311","03033012031","03033012032","03033012033","03033012120","03033012122","03033012201","03033012210","03033012211","03033012212","03033012213","03033012300","03033012302","03113321330","03113321331","03113321332","03113321333","03113322302","03113322303","03113322320","03113322321","03113322323","03113322330","03113322331","03113322332","03113322333","03113323110","03113323111","03113323112","03113323113","03113323203","03113323212","03113323213","03113323220","03113323221","03113323222","03113323223","03113323231","03113323232","03113323233","03113323300","03113323302","03113323303","03113323312","03113323320","03113323321","03113323322","03113323323","03113323330","03113323331","03113323332","03113330011","03113330013","03113330031","03113330102","03113330120","03113330202","03113330203","03113330212","03113330220","03113330221","03113330222","03113330223","03113330230","03113332000","03113332001","03113332002","03131010323","03131010332","03131012110","03131013121","03131013123","03131013130","03131013131","03131013132","03131013133","03131013211","03131013213","03131013300","03131013301","03131013302","03131013310","03131013311","03131023011","03131023100","03131023312","03131023313","03131023330","03131023331","03131031201","03131031203","03131031210","03131031212","03131031231","03131031232","03131031233","03131031320","03131031321","03131031322","03131031323","03131031332","03131033010","03131033011","03131033100","03131033101","03131033102","03131033103","03131033110","03131033200","03131100111","03131100121","03131100123","03131100130","03131100132","03131101000","03131101001","03131101010","03131102020","03131102022","03131103110","03131103111","03131103112","03131103113","03131110332","03131110333","03131111222","03131112110","03131112111","03131112112","03131112113","03131112310","03131112311","03131113000","03131113002","03131113020","03131113021","03131113022","03131113023","03131113200","03131113201","03131113321","03131113323","03131121111","03131121113","03131121130","03131121131","03131121132","03131121133","03131121310","03131121311","03131121312","03131121313","03131121321","03131121322","03131121323","03131121330","03131121331","03131121332","03131121333","03131123011","03131123100","03131123101","03131123110","03131123111","03131123112","03131123113","03131123130","03131123131","03131123313","03131123331","03131130000","03131130002","03131130022","03131130023","03131130031","03131130032","03131130033","03131130112","03131130113","03131130121","03131130122","03131130123","03131130130","03131130131","03131130132","03131130133","03131130200","03131130201","03131130202","03131130203","03131130210","03131130211","03131130212","03131130213","03131130220","03131130221","03131130222","03131130223","03131130230","03131130231","03131130232","03131130233","03131130300","03131130301","03131130302","03131130303","03131130310","03131130311","03131130312","03131130313","03131130320","03131130322","03131130331","03131130333","03131131003","03131131012","03131131020","03131131021","03131131022","03131131030","03131131123","03131131132","03131131200","03131131202","03131131203","03131131211","03131131212","03131131213","03131131220","03131131221","03131131222","03131131230","03131131231","03131131300","03131131301","03131131302","03131131310","03131131313","03131131320","03131131331","03131132000","03131132001","03131132002","03131132003","03131132010","03131132011","03131132012","03131132021","03131132030","03131132031","03131132032","03131132033","03131132100","03131132111","03131132113","03131132120","03131132122","03131132132","03131132133","03131132202","03131132203","03131132211","03131132212","03131132213","03131132220","03131132221","03131132230","03131132231","03131132233","03131132300","03131132302","03131132310","03131132311","03131132320","03131132321","03131132322","03131132323","03131132330","03131132332","03131132333","03131133000","03131133002","03131133003","03131133020","03131133021","03131133022","03131133023","03131133030","03131133032","03131133100","03131133101","03131133102","03131133103","03131133200","03131133201","03131133203","03131133210","03131133212","03131133220","03131133221","03131133222","03131133223","03131133230","03131133232","03131133323","03131133330","03131133332","03131201311","03131201313","03131201331","03131210202","03131211012","03131211013","03131301222","03131301223","03131301232","03131301323","03131301332","03131301333","03131303000","03131303001","03131303010","03131303101","03131303102","03131303103","03131303110","03131303111","03131303112","03131303120","03131303121","03131303130","03131303131","03131303133","03131303233","03131303312","03131303322","03131310010","03131310011","03131310012","03131310013","03131310022","03131310023","03131310031","03131310033","03131310100","03131310101","03131310102","03131310103","03131310110","03131310111","03131310112","03131310113","03131310120","03131310121","03131310130","03131310131","03131310200","03131310201","03131310211","03131310212","03131310213","03131310230","03131310231","03131310300","03131310302","03131310323","03131310332","03131311000","03131311001","03131311002","03131311003","03131311011","03131311012","03131311013","03131311030","03131311031","03131311032","03131311033","03131311100","03131311102","03131311113","03131311120","03131311121","03131311122","03131311123","03131311131","03131311210","03131311211","03131311213","03131311220","03131311221","03131311222","03131311223","03131311231","03131311232","03131311233","03131311300","03131311301","03131311302","03131311303","03131311310","03131311312","03131311313","03131311320","03131311321","03131311322","03131311323","03131311330","03131311331","03131311332","03131311333","03131312000","03131312001","03131312002","03131312003","03131312010","03131312012","03131312013","03131312020","03131312021","03131312022","03131312030","03131312031","03131312101","03131312103","03131312110","03131312112","03131312223","03131312232","03131312312","03131312313","03131312322","03131312323","03131312330","03131312331","03131312332","03131312333","03131313001","03131313002","03131313003","03131313010","03131313011","03131313012","03131313013","03131313020","03131313021","03131313023","03131313030","03131313031","03131313032","03131313033","03131313100","03131313101","03131313102","03131313103","03131313110","03131313111","03131313112","03131313113","03131313120","03131313121","03131313122","03131313123","03131313130","03131313131","03131313132","03131313133","03131313202","03131313203","03131313210","03131313211","03131313212","03131313220","03131313221","03131313222","03131313223","03131313230","03131313232","03131313233","03131313300","03131313301","03131313310","03131313311","03131313312","03131313313","03131313320","03131313321","03131313322","03131313323","03131313330","03131313331","03131313332","03131313333","03131320131","03131320133","03131321011","03131321013","03131321020","03131321021","03131321022","03131321023","03131321031","03131321033","03131321100","03131321102","03131321120","03131330001","03131330003","03131330010","03131330012","03131330100","03131330101","03131330110","03131330111","03131333303","03131333312","03131333321","03131333330","03133101222","03133101223","03133103000","03133103001","03133103102","03133103103","03133103120","03133103121","03133110323","03133110330","03133110332","03133111233","03133112213","03133112230","03133112231","03133112312","03133112313","03133112330","03133112331","03133112332","03133112333","03133113122","03133113123","03133113232","03133113233","03133113300","03133113301","03133131010","03133131011","03133131222","03133131223","03133131303","03133131321","03133203313","03133203331","03133212200","03133212201","03133212202","03133212220","03133212322","03133212323","03133213123","03133213132","03133213133","03133213301","03133213310","03133213311","03133213312","03133213313","03133213330","03133213331","03133221113","03133221310","03133221311","03133221312","03133221313","03133221321","03133221330","03133221331","03133221332","03133223133","03133223311","03133223312","03133223313","03133223330","03133223331","03133223332","03133223333","03133230002","03133230100","03133230101","03133230212","03133230213","03133230231","03133231032","03133231133","03133231210","03133232022","03133232200","03133232201","03133233133","03133233310","03133233311","03133233333","03133302200","03133303201","03133303202","03133303203","03133303210","03133303212","03133303220","03133303221","03133303312","03133303313","03133303330","03133303331","03133311102","03133311103","03133311120","03133311121","03133312221","03133312223","03133312230","03133312231","03133312232","03133312233","03133312302","03133312303","03133312312","03133312320","03133312321","03133312322","03133313303","03133313312","03133313321","03133313330","03133320022","03133320332","03133321212","03133321213","03133322110","03133322120","03133322121","03133322122","03133322123","03133322222","03133323222","03133330001","03133330002","03133330003","03133330010","03133330011","03133330012","03133330020","03133330021","03133330100","03133330112","03133330130","03133330201","03133330210","03133331321","03133331323","03133331332","03133332003","03133332012","03133332021","03133332030","03133333021","03133333023","03133333030","03133333031","03133333032","03133333033","03200000001","03200000002","03200000003","03200000010","03200000011","03200000012","03200000013","03200000020","03200000021","03200000022","03200000023","03200000030","03200000032","03200000033","03200000103","03200000112","03200000113","03200000120","03200000121","03200000122","03200000123","03200000130","03200000131","03200000132","03200000133","03200000202","03200000220","03200000222","03200000232","03200000300","03200000301","03200000302","03200000303","03200000310","03200000311","03200000312","03200000313","03200000320","03200000321","03200000322","03200000323","03200000330","03200000331","03200000332","03200000333","03200001001","03200001002","03200001010","03200001011","03200001020","03200001022","03200001100","03200001101","03200001110","03200001200","03200001202","03200001203","03200001210","03200001212","03200001220","03200001221","03200001223","03200001230","03200001231","03200001232","03200002000","03200002001","03200002002","03200002003","03200002010","03200002012","03200002020","03200002021","03200002022","03200002030","03200002100","03200002101","03200002102","03200002103","03200002110","03200002111","03200002112","03200002113","03200002120","03200002121","03200002130","03200002131","03200002220","03200002222","03200003002","03200003003","03200003012","03200003013","03200003020","03200003021","03200003022","03200003023","03200003030","03200003031","03200003032","03200003033","03200003121","03200003123","03200003130","03200003131","03200003132","03200003133","03200003200","03200003201","03200003210","03200003211","03200003301","03200003310","03200003311","03200010022","03200010023","03200010032","03200010200","03200010201","03200010202","03200010203","03200010210","03200010212","03200010213","03200010230","03200010231","03200010232","03200010233","03200010302","03200010303","03200010311","03200010312","03200010313","03200010320","03200010321","03200010322","03200010323","03200010330","03200010331","03200010332","03200010333","03200011000","03200011001","03200011002","03200011003","03200011010","03200011011","03200011012","03200011020","03200011021","03200011030","03200011100","03200011101","03200011111","03200011113","03200011131","03200011200","03200011201","03200011202","03200011203","03200011210","03200011211","03200011212","03200011213","03200011220","03200011221","03200011222","03200011223","03200011230","03200011231","03200011232","03200011233","03200011313","03200011322","03200011323","03200011331","03200011333","03200012010","03200012011","03200012012","03200012013","03200012020","03200012030","03200012031","03200012032","03200012033","03200012100","03200012101","03200012102","03200012103","03200012110","03200012111","03200012112","03200012113","03200012120","03200012121","03200012122","03200012123","03200012130","03200012131","03200012132","03200012133","03200012210","03200012211","03200012212","03200012213","03200012230","03200012231","03200012232","03200012233","03200012300","03200012301","03200012302","03200012303","03200012310","03200012311","03200012320","03200012321","03200012322","03200012323","03200013000","03200013001","03200013010","03200013011","03200013012","03200013013","03200013021","03200013022","03200013023","03200013030","03200013032","03200013100","03200013101","03200013102","03200013103","03200013111","03200013113","03200013121","03200013123","03200013130","03200013131","03200013132","03200013133","03200013200","03200013201","03200013202","03200013203","03200013210","03200013212","03200013220","03200013221","03200013301","03200013303","03200013310","03200013311","03200013312","03200013313","03200013321","03200013323","03200013330","03200013331","03200013332","03200013333","03200020000","03200020001","03200020002","03200020003","03200020010","03200020012","03200020020","03200020021","03200020022","03200020023","03200020200","03200020201","03200020202","03200020220","03200020221","03200020222","03200020223","03200020230","03200020232","03200021300","03200021301","03200021302","03200021303","03200021310","03200021312","03200021320","03200021321","03200021323","03200021330","03200021332","03200022000","03200022001","03200022002","03200022003","03200022010","03200022011","03200022012","03200022013","03200022020","03200022021","03200022022","03200022023","03200022030","03200022031","03200022032","03200022033","03200022121","03200022123","03200022130","03200022131","03200022132","03200022133","03200022200","03200022201","03200022203","03200022210","03200022211","03200022212","03200022213","03200022221","03200022230","03200022231","03200022300","03200022302","03200022310","03200022311","03200022313","03200023020","03200023022","03200023113","03200023130","03200023131","03200023132","03200023133","03200023200","03200023202","03200023311","03200023313","03200023332","03200023333","03200030113","03200030130","03200030131","03200030132","03200030133","03200030211","03200030213","03200030223","03200030231","03200030232","03200030233","03200030300","03200030301","03200030302","03200030303","03200030310","03200030311","03200030312","03200030313","03200030320","03200030321","03200030322","03200030323","03200030330","03200030331","03200030332","03200030333","03200031002","03200031003","03200031012","03200031020","03200031021","03200031022","03200031023","03200031030","03200031032","03200031033","03200031101","03200031103","03200031110","03200031111","03200031112","03200031113","03200031120","03200031121","03200031122","03200031123","03200031130","03200031131","03200031132","03200031200","03200031201","03200031202","03200031203","03200031210","03200031211","03200031212","03200031213","03200031220","03200031231","03200031300","03200031301","03200031302","03200031303","03200031310","03200031311","03200031312","03200031313","03200031320","03200031321","03200031323","03200031330","03200031331","03200031332","03200031333","03200032000","03200032001","03200032002","03200032003","03200032010","03200032011","03200032012","03200032013","03200032020","03200032021","03200032022","03200032023","03200032030","03200032031","03200032032","03200032033","03200032200","03200032201","03200032202","03200032203","03200032211","03200032213","03200032231","03200032300","03200032301","03200032302","03200032303","03200032320","03200033110","03200033111","03200033113","03200100000","03200100001","03200100002","03200100003","03200100010","03200100011","03200100012","03200100020","03200100021","03200100030","03200100123","03200100132","03200100133","03200100202","03200100203","03200100212","03200100220","03200100221","03200100222","03200100223","03200100230","03200100231","03200100232","03200100233","03200100301","03200100303","03200100310","03200100311","03200100312","03200100313","03200100320","03200100321","03200100322","03200100323","03200100330","03200100331","03200100332","03200100333","03200101001","03200101003","03200101010","03200101011","03200101012","03200101013","03200101022","03200101031","03200101033","03200101100","03200101101","03200101102","03200101103","03200101110","03200101111","03200101112","03200101113","03200101120","03200101121","03200101122","03200101123","03200101130","03200101131","03200101132","03200101133","03200101200","03200101201","03200101202","03200101203","03200101212","03200101213","03200101220","03200101221","03200101222","03200101223","03200101230","03200101231","03200101232","03200101233","03200101300","03200101301","03200101302","03200101303","03200101310","03200101311","03200101312","03200101313","03200101320","03200101321","03200101322","03200101323","03200101330","03200101331","03200101332","03200101333","03200102000","03200102001","03200102002","03200102003","03200102010","03200102011","03200102012","03200102013","03200102020","03200102021","03200102022","03200102023","03200102030","03200102031","03200102032","03200102100","03200102101","03200102102","03200102103","03200102110","03200102111","03200102112","03200102113","03200102120","03200102121","03200102122","03200102123","03200102130","03200102131","03200102132","03200102133","03200102200","03200102201","03200102202","03200102203","03200102210","03200102212","03200102220","03200102221","03200102222","03200102223","03200102230","03200102232","03200102300","03200102301","03200102303","03200102310","03200102311","03200102312","03200102313","03200103000","03200103001","03200103002","03200103003","03200103010","03200103011","03200103012","03200103013","03200103020","03200103021","03200103022","03200103023","03200103030","03200103031","03200103100","03200103101","03200103102","03200103103","03200103110","03200103111","03200103112","03200103113","03200103133","03200103200","03200103201","03200103202","03200103203","03200103220","03200103221","03200103310","03200103311","03200103312","03200103313","03200103330","03200103331","03200110000","03200110001","03200110002","03200110003","03200110010","03200110011","03200110012","03200110013","03200110020","03200110021","03200110030","03200110031","03200110033","03200110100","03200110101","03200110102","03200110103","03200110110","03200110111","03200110112","03200110113","03200110120","03200110121","03200110122","03200110123","03200110130","03200110131","03200110132","03200110133","03200110301","03200110303","03200110310","03200110311","03200110312","03200110313","03200110321","03200110323","03200110330","03200110331","03200110332","03200110333","03200111000","03200111001","03200111002","03200111003","03200111010","03200111012","03200111020","03200111021","03200111022","03200111023","03200111030","03200111031","03200111032","03200111033","03200111113","03200111122","03200111123","03200111131","03200111132","03200111133","03200111200","03200111201","03200111202","03200111203","03200111210","03200111211","03200111212","03200111213","03200111220","03200111221","03200111222","03200111223","03200111230","03200111231","03200111232","03200111233","03200111300","03200111301","03200111302","03200111303","03200111310","03200111311","03200111312","03200111313","03200111320","03200111321","03200111322","03200111323","03200111330","03200112022","03200112023","03200112101","03200112103","03200112110","03200112111","03200112112","03200112113","03200112200","03200112201","03200112202","03200112203","03200112210","03200112220","03200113000","03200113001","03200113002","03200113003","03200113010","03200113011","03200113012","03200113013","03200113100","03200113102","03200113111","03200113113","03200120000","03200120001","03200120010","03200120120","03200120121","03200120122","03200120123","03200120132","03200120200","03200120202","03200120211","03200120213","03200120220","03200120221","03200120222","03200120223","03200120300","03200120301","03200120302","03200120303","03200120310","03200120311","03200120312","03200120320","03200120321","03200121013","03200121030","03200121031","03200121032","03200121033","03200121102","03200121103","03200121113","03200121120","03200121121","03200121122","03200121123","03200121130","03200121131","03200121132","03200121133","03200121211","03200121222","03200121223","03200121232","03200121233","03200121300","03200121310","03200121311","03200121312","03200121313","03200122000","03200122001","03200122002","03200122003","03200122133","03200122310","03200122311","03200122312","03200122313","03200123000","03200123001","03200123002","03200123003","03200123010","03200123011","03200123012","03200123013","03200123020","03200123021","03200123022","03200123023","03200123030","03200123031","03200123032","03200123033","03200123100","03200123101","03200123102","03200123103","03200123120","03200123121","03200123122","03200123123","03200123132","03200123200","03200123201","03200123202","03200123203","03200123210","03200123211","03200123213","03200123231","03200123233","03200123300","03200123301","03200123302","03200123303","03200123310","03200123312","03200123320","03200123321","03200123322","03200123323","03200123330","03200130020","03200130022","03200130123","03200130200","03200130201","03200130202","03200130203","03200130301","03200130310","03200132001","03200132003","03200132010","03200132011","03200132012","03200132013","03200132021","03200132023","03200132030","03200132031","03200132032","03200132033","03200132102","03200132120","03200132122","03200132123","03200132130","03200132131","03200132132","03200132133","03200132301","03200132303","03200132310","03200132311","03200132312","03200132313","03200133002","03200133020","03200133021","03200133022","03200133023","03200133102","03200133103","03200133120","03200133121","03200133130","03200133200","03200133201","03200200001","03200200002","03200200003","03200200010","03200200011","03200200012","03200200013","03200200020","03200200021","03200200022","03200200023","03200200030","03200200031","03200200032","03200200033","03200200100","03200200101","03200200102","03200200103","03200200110","03200200111","03200200112","03200200113","03200200120","03200200121","03200200122","03200200123","03200200130","03200200131","03200200132","03200200133","03200200200","03200200201","03200200210","03200200211","03200200213","03200200222","03200200223","03200200300","03200200301","03200200302","03200200303","03200200310","03200200311","03200200312","03200200313","03200200320","03200200321","03200200330","03200201000","03200201001","03200201002","03200201003","03200201010","03200201011","03200201012","03200201013","03200201020","03200201021","03200201022","03200201023","03200201030","03200201031","03200201032","03200201033","03200201110","03200201111","03200201112","03200201113","03200201133","03200201200","03200201201","03200201202","03200201203","03200201210","03200201211","03200201212","03200201213","03200201223","03200201232","03200201233","03200201311","03200201313","03200202000","03200202001","03200202002","03200202003","03200202010","03200202012","03200202020","03200202021","03200202022","03200202023","03200202030","03200202031","03200202032","03200202033","03200202120","03200202121","03200202122","03200202123","03200202130","03200202131","03200202132","03200202133","03200202200","03200202201","03200202202","03200202203","03200202210","03200202211","03200202212","03200202213","03200202220","03200202221","03200202222","03200202223","03200202230","03200202231","03200202232","03200202233","03200202300","03200202301","03200202302","03200202303","03200202310","03200202311","03200202312","03200202313","03200202320","03200202321","03200202322","03200202323","03200202330","03200202331","03200202332","03200202333","03200203001","03200203003","03200203010","03200203011","03200203012","03200203013","03200203020","03200203021","03200203022","03200203023","03200203030","03200203031","03200203032","03200203033","03200203200","03200203201","03200203202","03200203203","03200203210","03200203212","03200203213","03200203220","03200203221","03200203222","03200203223","03200203230","03200203231","03200203232","03200203233","03200203302","03200203303","03200203312","03200203320","03200203321","03200203322","03200203323","03200203330","03200203332","03200203333","03200210000","03200210002","03200210003","03200210012","03200210013","03200210020","03200210021","03200210022","03200210023","03200210030","03200210031","03200210032","03200210033","03200210120","03200210122","03200210200","03200210201","03200210202","03200210203","03200210210","03200210211","03200210212","03200210213","03200210220","03200210221","03200210230","03200210231","03200210232","03200210233","03200210300","03200210301","03200210302","03200210303","03200210310","03200210320","03200210321","03200210322","03200210323","03200211131","03200211133","03200211231","03200211233","03200211301","03200211302","03200211303","03200211310","03200211311","03200211312","03200211313","03200211320","03200211321","03200211322","03200211323","03200211330","03200211331","03200211332","03200212010","03200212011","03200212013","03200212030","03200212031","03200212032","03200212033","03200212100","03200212101","03200212102","03200212120","03200212121","03200212122","03200212123","03200212202","03200212203","03200212210","03200212211","03200212212","03200212213","03200212220","03200212221","03200212222","03200212223","03200212230","03200212231","03200212232","03200212233","03200212300","03200212301","03200212302","03200212303","03200212312","03200212313","03200212320","03200212321","03200212322","03200212323","03200212330","03200212331","03200212332","03200212333","03200213003","03200213010","03200213011","03200213012","03200213013","03200213021","03200213022","03200213023","03200213030","03200213031","03200213032","03200213033","03200213100","03200213101","03200213102","03200213103","03200213110","03200213112","03200213113","03200213120","03200213121","03200213122","03200213123","03200213130","03200213131","03200213132","03200213133","03200213200","03200213201","03200213202","03200213203","03200213210","03200213211","03200213220","03200213221","03200213222","03200213223","03200213300","03200213330","03200213332","03200213333","03200220000","03200220001","03200220002","03200220003","03200220010","03200220011","03200220012","03200220013","03200220020","03200220021","03200220022","03200220023","03200220030","03200220031","03200220032","03200220033","03200220100","03200220101","03200220102","03200220103","03200220110","03200220111","03200220112","03200220113","03200220120","03200220121","03200220122","03200220123","03200220130","03200220131","03200220132","03200220133","03200220200","03200220201","03200220202","03200220203","03200220210","03200220211","03200220212","03200220213","03200220220","03200220221","03200220222","03200220223","03200220230","03200220231","03200220232","03200220233","03200220300","03200220301","03200220302","03200220303","03200220310","03200220311","03200220312","03200220313","03200220320","03200220321","03200220322","03200220323","03200220330","03200220331","03200220332","03200220333","03200221000","03200221001","03200221002","03200221003","03200221010","03200221011","03200221012","03200221013","03200221020","03200221021","03200221022","03200221023","03200221030","03200221031","03200221032","03200221033","03200221100","03200221101","03200221102","03200221103","03200221110","03200221111","03200221112","03200221113","03200221120","03200221121","03200221122","03200221123","03200221130","03200221131","03200221132","03200221133","03200221200","03200221201","03200221202","03200221203","03200221210","03200221211","03200221212","03200221213","03200221220","03200221221","03200221222","03200221223","03200221230","03200221231","03200221232","03200221233","03200221300","03200221301","03200221302","03200221303","03200221310","03200221311","03200221312","03200221313","03200221320","03200221321","03200221322","03200221323","03200221330","03200221331","03200221332","03200221333","03200222000","03200222001","03200222002","03200222003","03200222010","03200222011","03200222012","03200222013","03200222020","03200222021","03200222022","03200222023","03200222030","03200222031","03200222032","03200222033","03200222100","03200222101","03200222102","03200222103","03200222110","03200222111","03200222112","03200222113","03200222120","03200222121","03200222122","03200222123","03200222130","03200222131","03200222132","03200222133","03200222200","03200222201","03200222202","03200222203","03200222210","03200222211","03200222212","03200222213","03200222220","03200222221","03200222222","03200222223","03200222230","03200222231","03200222232","03200222233","03200222300","03200222301","03200222302","03200222303","03200222310","03200222311","03200222312","03200222313","03200222320","03200222321","03200222322","03200222323","03200222330","03200222331","03200222332","03200222333","03200223000","03200223001","03200223002","03200223003","03200223010","03200223011","03200223012","03200223013","03200223020","03200223021","03200223022","03200223023","03200223100","03200223101","03200223102","03200223103","03200223110","03200223111","03200223112","03200223113","03200223200","03200223201","03200223202","03200223203","03200223220","03200223221","03200230000","03200230001","03200230002","03200230003","03200230010","03200230011","03200230012","03200230013","03200230020","03200230021","03200230022","03200230023","03200230030","03200230031","03200230032","03200230033","03200230100","03200230101","03200230102","03200230103","03200230110","03200230111","03200230112","03200230113","03200230120","03200230121","03200230122","03200230123","03200230130","03200230131","03200230132","03200230133","03200230200","03200230201","03200230202","03200230203","03200230210","03200230211","03200230212","03200230213","03200230220","03200230221","03200230222","03200230223","03200230230","03200230231","03200230232","03200230300","03200230301","03200230302","03200230310","03200230311","03200230312","03200230313","03200231000","03200231002","03200231020","03200231021","03200231022","03200231023","03200231101","03200231103","03200231110","03200231111","03200231112","03200231113","03200231120","03200231121","03200231122","03200231123","03200231130","03200231131","03200231132","03200231133","03200231200","03200231201","03200231202","03200231300","03200231301","03200231302","03200231303","03200231310","03200231311","03200231312","03200231313","03200231321","03200231323","03200231330","03200231331","03200231332","03200231333","03200232000","03200232120","03200232121","03200232122","03200232123","03200232130","03200232131","03200232132","03200232133","03200232211","03200232213","03200232231","03200232300","03200232301","03200232302","03200232303","03200232310","03200232311","03200232312","03200232313","03200232320","03200232321","03200232322","03200232323","03200232330","03200232331","03200232332","03200233020","03200233021","03200233022","03200233023","03200233030","03200233031","03200233032","03200233033","03200233111","03200233122","03200233123","03200233132","03200233200","03200233201","03200233203","03200233210","03200233211","03200233212","03200233300","03200233301","03200233302","03200233303","03200233310","03200300003","03200300012","03200300013","03200300020","03200300021","03200300022","03200300023","03200300030","03200300031","03200300032","03200300033","03200300101","03200300102","03200300103","03200300110","03200300112","03200300120","03200300121","03200300122","03200300123","03200300130","03200300200","03200300201","03200300202","03200300203","03200300210","03200300211","03200300212","03200300213","03200300220","03200300221","03200300222","03200300223","03200300230","03200300231","03200300232","03200300233","03200300300","03200300302","03200300312","03200300313","03200300320","03200300322","03200300323","03200300330","03200300331","03200300332","03200300333","03200301011","03200301013","03200301100","03200301101","03200301102","03200301202","03200301203","03200301210","03200301211","03200301212","03200301213","03200301220","03200301221","03200301222","03200301223","03200301230","03200301231","03200301232","03200301233","03200301302","03200301320","03200301322","03200302001","03200302002","03200302003","03200302010","03200302011","03200302012","03200302013","03200302020","03200302021","03200302022","03200302023","03200302030","03200302031","03200302032","03200302100","03200302101","03200302102","03200302110","03200302111","03200302113","03200302131","03200302132","03200302133","03200302201","03200302202","03200302203","03200302210","03200302211","03200302212","03200302213","03200302220","03200302221","03200302222","03200302223","03200302230","03200302231","03200302232","03200302233","03200302301","03200302303","03200302310","03200302311","03200302312","03200302313","03200302320","03200302322","03200302330","03200302331","03200302333","03200303000","03200303001","03200303002","03200303003","03200303010","03200303011","03200303012","03200303013","03200303020","03200303021","03200303022","03200303023","03200303030","03200303031","03200303032","03200303033","03200303100","03200303102","03200303103","03200303112","03200303120","03200303121","03200303122","03200303123","03200303130","03200303132","03200303133","03200303200","03200303201","03200303202","03200303203","03200303210","03200303211","03200303212","03200303213","03200303220","03200303221","03200303222","03200303223","03200303230","03200303231","03200303232","03200303300","03200303301","03200303302","03200303303","03200303310","03200303311","03200303312","03200303321","03200303330","03200310123","03200310130","03200310131","03200310132","03200310133","03200310202","03200310203","03200310212","03200310213","03200310220","03200310221","03200310222","03200310223","03200310230","03200310231","03200310232","03200310233","03200310301","03200310310","03200310311","03200310313","03200310322","03200310323","03200310332","03200310333","03200311020","03200311021","03200311022","03200311023","03200311030","03200311031","03200311032","03200311033","03200311120","03200311121","03200311122","03200311123","03200311130","03200311131","03200311132","03200311133","03200311200","03200311201","03200311202","03200311203","03200311210","03200311211","03200311212","03200311213","03200311220","03200311221","03200311222","03200311223","03200311230","03200311231","03200311232","03200311233","03200311300","03200311301","03200311302","03200311303","03200311310","03200311311","03200311312","03200311313","03200311330","03200311331","03200311332","03200311333","03200312000","03200312001","03200312002","03200312003","03200312010","03200312011","03200312012","03200312013","03200312020","03200312021","03200312022","03200312023","03200312030","03200312031","03200312032","03200312033","03200312100","03200312101","03200312102","03200312103","03200312110","03200312111","03200312112","03200312113","03200312120","03200312121","03200312122","03200312123","03200312130","03200312131","03200312132","03200312133","03200312200","03200312201","03200312210","03200312211","03200312300","03200312301","03200312310","03200312311","03200313000","03200313001","03200313002","03200313003","03200313012","03200313013","03200313020","03200313021","03200313022","03200313023","03200313030","03200313031","03200313032","03200313033","03200313112","03200313113","03200313120","03200313122","03200313123","03200313130","03200313131","03200313132","03200313133","03200313200","03200313201","03200313210","03200313211","03200313232","03200313233","03200313310","03200313311","03200320000","03200320001","03200320002","03200320003","03200320010","03200320011","03200320012","03200320013","03200320020","03200320021","03200320022","03200320023","03200320030","03200320031","03200320032","03200320033","03200320100","03200320102","03200320103","03200320112","03200320120","03200320121","03200320122","03200320123","03200320130","03200320132","03200320200","03200320201","03200320202","03200320203","03200320210","03200320211","03200320212","03200320213","03200320220","03200320221","03200320222","03200320223","03200320230","03200320231","03200320232","03200320300","03200320302","03200320320","03200321131","03200321133","03200321231","03200321233","03200321301","03200321302","03200321303","03200321310","03200321311","03200321312","03200321313","03200321320","03200321321","03200321322","03200321323","03200321330","03200321331","03200321332","03200322000","03200322001","03200322012","03200322013","03200322030","03200322031","03200322033","03200322102","03200322103","03200322120","03200322121","03200322122","03200322211","03200322300","03200322301","03200323123","03200323132","03200323133","03200323301","03200323303","03200323310","03200323311","03200323312","03200323313","03200323321","03200323330","03200323331","03200330000","03200330001","03200330002","03200330003","03200330010","03200330011","03200330012","03200330013","03200330020","03200330021","03200330022","03200330023","03200330030","03200330031","03200330032","03200330033","03200330100","03200330102","03200330103","03200330120","03200330121","03200330122","03200330123","03200330200","03200330201","03200330210","03200330211","03200330301","03200331000","03200331001","03200331002","03200331003","03200331010","03200331011","03200331012","03200331013","03200331020","03200331021","03200331023","03200331030","03200331031","03200331032","03200331033","03200331120","03200331122","03200331123","03200331131","03200331132","03200331133","03200331222","03200331223","03200331232","03200331233","03200331310","03200331311","03200331312","03200331322","03200331323","03200332023","03200332030","03200332031","03200332032","03200332033","03200332110","03200332111","03200332112","03200332113","03200332120","03200332121","03200332122","03200332123","03200332130","03200332131","03200332132","03200332133","03200332200","03200332201","03200332202","03200332203","03200332210","03200332211","03200332212","03200332213","03200332220","03200332221","03200332222","03200332223","03200332230","03200332231","03200332232","03200332233","03200332300","03200332301","03200332302","03200332303","03200332310","03200332311","03200332312","03200332320","03200332321","03200332322","03200332330","03200333000","03200333001","03200333002","03200333003","03200333010","03200333011","03200333012","03200333013","03200333020","03200333021","03200333022","03200333023","03200333030","03200333032","03200333100","03200333101","03200333200","03200333201","03201000002","03201000003","03201000010","03201000011","03201000012","03201000013","03201000020","03201000021","03201000022","03201000023","03201000030","03201000031","03201000032","03201000033","03201000100","03201000101","03201000102","03201000103","03201000110","03201000111","03201000112","03201000113","03201000120","03201000121","03201000130","03201000200","03201000201","03201000202","03201000203","03201000210","03201000211","03201000212","03201000220","03201000221","03201000222","03201000223","03201000230","03201000232","03201000233","03201000311","03201000312","03201000313","03201000330","03201000331","03201000332","03201000333","03201001000","03201001001","03201001002","03201001021","03201001023","03201001030","03201001031","03201001032","03201001033","03201001101","03201001103","03201001110","03201001111","03201001112","03201001113","03201001120","03201001121","03201001122","03201001123","03201001130","03201001131","03201001132","03201001133","03201001200","03201001201","03201001202","03201001203","03201001210","03201001211","03201001212","03201001213","03201001220","03201001221","03201001222","03201001223","03201001230","03201001231","03201001232","03201001233","03201001300","03201001301","03201001302","03201001303","03201001310","03201001311","03201001312","03201001313","03201001320","03201001321","03201001322","03201001323","03201001330","03201001331","03201001332","03201001333","03201002000","03201002002","03201002012","03201002013","03201002030","03201002031","03201002102","03201002103","03201002110","03201002111","03201002112","03201002113","03201002120","03201002121","03201002122","03201002123","03201002130","03201002131","03201002132","03201002133","03201002301","03201002303","03201002310","03201002311","03201002312","03201002313","03201002321","03201002330","03201002331","03201002332","03201002333","03201003000","03201003001","03201003002","03201003003","03201003010","03201003011","03201003012","03201003013","03201003020","03201003021","03201003022","03201003023","03201003030","03201003031","03201003032","03201003033","03201003100","03201003101","03201003102","03201003103","03201003110","03201003111","03201003112","03201003113","03201003120","03201003121","03201003122","03201003123","03201003130","03201003131","03201003132","03201003133","03201003200","03201003201","03201003202","03201003203","03201003210","03201003211","03201003212","03201003213","03201003220","03201003221","03201003222","03201003223","03201003230","03201003231","03201003232","03201003233","03201003300","03201003301","03201003302","03201003303","03201003310","03201003311","03201003312","03201003320","03201003321","03201003322","03201003323","03201010000","03201010001","03201010002","03201010003","03201010010","03201010011","03201010012","03201010013","03201010020","03201010021","03201010022","03201010023","03201010030","03201010031","03201010032","03201010033","03201010100","03201010101","03201010102","03201010103","03201010110","03201010111","03201010112","03201010113","03201010120","03201010121","03201010122","03201010123","03201010130","03201010131","03201010132","03201010133","03201010200","03201010201","03201010202","03201010203","03201010210","03201010211","03201010212","03201010213","03201010220","03201010221","03201010222","03201010223","03201010230","03201010231","03201010232","03201010233","03201010300","03201010301","03201010302","03201010303","03201010310","03201010311","03201010312","03201010313","03201010320","03201010321","03201010322","03201010323","03201010330","03201010331","03201010332","03201010333","03201011000","03201011001","03201011002","03201011003","03201011010","03201011011","03201011012","03201011013","03201011020","03201011021","03201011022","03201011023","03201011030","03201011031","03201011032","03201011033","03201011100","03201011101","03201011102","03201011103","03201011110","03201011111","03201011112","03201011113","03201011120","03201011121","03201011122","03201011123","03201011130","03201011131","03201011132","03201011200","03201011201","03201011202","03201011203","03201011210","03201011211","03201011212","03201011213","03201011220","03201011221","03201011222","03201011223","03201011230","03201011231","03201011232","03201012000","03201012001","03201012002","03201012003","03201012010","03201012011","03201012012","03201012013","03201012020","03201012021","03201012022","03201012023","03201012030","03201012031","03201012032","03201012033","03201012100","03201012101","03201012102","03201012103","03201012110","03201012111","03201012112","03201012113","03201012120","03201012121","03201012122","03201012123","03201012130","03201012131","03201012132","03201012133","03201012200","03201012201","03201012202","03201012203","03201012210","03201012211","03201012212","03201012213","03201012220","03201012221","03201012223","03201012230","03201012231","03201012232","03201012233","03201012300","03201012301","03201012302","03201012303","03201012310","03201012311","03201012312","03201012313","03201012321","03201012322","03201012323","03201012330","03201012331","03201012332","03201013000","03201013001","03201013002","03201013003","03201013010","03201013012","03201013020","03201013021","03201013022","03201013023","03201013030","03201013200","03201013201","03201020110","03201020111","03201020112","03201020113","03201020130","03201020131","03201020132","03201020133","03201020203","03201020221","03201020310","03201020311","03201020332","03201020333","03201021000","03201021001","03201021002","03201021003","03201021010","03201021011","03201021012","03201021013","03201021020","03201021021","03201021022","03201021030","03201021031","03201021100","03201021101","03201021102","03201021120","03201022101","03201022102","03201022103","03201022110","03201022111","03201022112","03201022113","03201022120","03201022121","03201022123","03201022130","03201022131","03201022132","03201022133","03201022310","03201022311","03201023000","03201023002","03201023003","03201023020","03201023021","03201023022","03201023033","03201023122","03201023123","03201023132","03201023200","03201023211","03201023213","03201023230","03201023231","03201023232","03201023233","03201023300","03201023301","03201023302","03201023303","03201023310","03201023312","03201023313","03201023320","03201023321","03201023322","03201023323","03201023330","03201023331","03201023332","03201023333","03201030001","03201030003","03201030010","03201030011","03201030012","03201030013","03201030021","03201030030","03201030031","03201030032","03201030033","03201030100","03201030101","03201030102","03201030103","03201030120","03201030121","03201030122","03201030123","03201032202","03201032220","03201032222","03201100000","03201100001","03201100002","03201100003","03201100010","03201100011","03201100012","03201100013","03201100020","03201100021","03201100100","03201100101","03201100102","03201100110","03201200020","03201200022","03201200023","03201200200","03201200201","03201200202","03201200203","03201200210","03201200211","03201200212","03201200213","03201200220","03201200221","03201200222","03201200223","03201200230","03201200231","03201200232","03201200233","03201200300","03201200301","03201200302","03201200303","03201200312","03201200313","03201200320","03201200321","03201200322","03201200323","03201200330","03201200331","03201200332","03201200333","03201201010","03201201011","03201201100","03201201101","03201201110","03201201111","03201201112","03201201113","03201201130","03201201131","03201201133","03201201202","03201201220","03201201222","03201202000","03201202001","03201202002","03201202003","03201202010","03201202011","03201202012","03201202013","03201202020","03201202022","03201202023","03201202030","03201202031","03201202100","03201202101","03201202102","03201202103","03201202111","03201202120","03201202121","03201202123","03201202130","03201202131","03201202132","03201202133","03201202200","03201202201","03201202233","03201202301","03201202303","03201202310","03201202311","03201202312","03201202313","03201202322","03201202323","03201202330","03201202331","03201202332","03201202333","03201203000","03201203022","03201203023","03201203031","03201203032","03201203033","03201203120","03201203121","03201203122","03201203123","03201203130","03201203132","03201203200","03201203201","03201203202","03201203203","03201203210","03201203211","03201203212","03201203213","03201203220","03201203221","03201203300","03201203301","03201203302","03201203303","03201203310","03201210000","03201210002","03201210020","03201210021","03201210022","03201210023","03201210200","03201210201","03201210203","03201210210","03201210212","03201210230","03201210232","03201212002","03201212003","03201212010","03201212012","03201220011","03201220022","03201220100","03201220101","03201220102","03201220103","03201220110","03201220120","03201220121","03201220200","03202000000","03202000001","03202000002","03202000003","03202000010","03202000011","03202000012","03202000013","03202000020","03202000021","03202000022","03202000023","03202000030","03202000031","03202000032","03202000033","03202000100","03202000101","03202000102","03202000103","03202000110","03202000111","03202000112","03202000113","03202000120","03202000121","03202000122","03202000123","03202000130","03202000131","03202000132","03202000200","03202000201","03202000202","03202000203","03202000210","03202000211","03202000212","03202000213","03202000220","03202000221","03202000222","03202000223","03202000230","03202000231","03202000232","03202000233","03202000300","03202000301","03202000302","03202000303","03202000310","03202000311","03202000312","03202000313","03202000320","03202000321","03202000322","03202000323","03202000330","03202000331","03202000332","03202000333","03202001000","03202001002","03202001020","03202001022","03202001200","03202001201","03202001202","03202001203","03202001212","03202001213","03202001220","03202001221","03202001222","03202001223","03202001230","03202001231","03202001232","03202001233","03202001302","03202001320","03202001321","03202001322","03202001323","03202001330","03202001331","03202001332","03202001333","03202002000","03202002001","03202002002","03202002003","03202002010","03202002011","03202002012","03202002013","03202002020","03202002021","03202002022","03202002023","03202002030","03202002031","03202002032","03202002033","03202002100","03202002101","03202002102","03202002103","03202002110","03202002111","03202002112","03202002113","03202002120","03202002121","03202002122","03202002123","03202002130","03202002131","03202002200","03202002201","03202002202","03202002203","03202002210","03202002211","03202002220","03202002222","03202003000","03202003001","03202003002","03202003003","03202003010","03202003011","03202003012","03202003013","03202003020","03202003021","03202003023","03202003030","03202003031","03202003032","03202003033","03202003100","03202003101","03202003102","03202003103","03202003110","03202003111","03202003112","03202003113","03202003120","03202003121","03202003122","03202003123","03202003130","03202003131","03202003132","03202003133","03202010100","03202010101","03202010110","03202010220","03202010221","03202010222","03202010223","03202010230","03202010232","03202010333","03202011222","03202011223","03202011232","03202012000","03202012001","03202012002","03202012003","03202012010","03202012012","03202012020","03202012021","03202012022","03202012030","03202012111","03202012113","03202012130","03202012131","03202012132","03202012133","03202012311","03202013000","03202013001","03202013002","03202013003","03202013010","03202013012","03202013020","03202013021","03202013022","03202013023","03202013030","03202013032","03202013111","03202013112","03202013113","03202013121","03202013123","03202013130","03202013131","03202013132","03202013133","03202013200","03202013201","03202013203","03202013210","03202013212","03202020000","03202100002","03202100003","03202100020","03202100021","03202100022","03202100023","03202100030","03202101123","03202101132","03202101133","03202101211","03202101213","03202101231","03202101300","03202101301","03202101302","03202101303","03202101310","03202101311","03202101312","03202101313","03202101320","03202101321","03202101323","03202101330","03202101332","03202101333","03202102000","03202102001","03202102002","03202102003","03202102010","03202102012","03202102020","03202102021","03202102022","03202102023","03202102030","03202102032","03202102331","03202102333","03202103101","03202103103","03202103110","03202103111","03202103112","03202103113","03202103121","03202103122","03202103123","03202103130","03202103131","03202103132","03202103133","03202103202","03202103203","03202103212","03202103213","03202103220","03202103221","03202103222","03202103223","03202103230","03202103231","03202103232","03202103233","03202103301","03202103302","03202103310","03202103311","03202103312","03202103313","03202103320","03202103321","03202103322","03202103323","03202103331","03202110001","03202110003","03202110010","03202110011","03202110012","03202110013","03202110100","03202110200","03202110201","03202110202","03202110203","03202110220","03202112000","03202112002","03202112003","03202112020","03202112021","03202112022","03202112023","03202112200","03202112201","03202112202","03202112203","03202112220","03202112221","03202112222","03202112223","03202112230","03202112232","03202121001","03202121010","03202121011","03202121023","03202121032","03202121033","03202121100","03202121101","03202121102","03202121111","03202121113","03202121123","03202121131","03202121132","03202121133","03202121201","03202121203","03202121210","03202121211","03202121212","03202121213","03202121221","03202121223","03202121230","03202121231","03202121232","03202121233","03202121300","03202121301","03202121302","03202121303","03202121310","03202121311","03202121312","03202121313","03202121320","03202121321","03202121322","03202121323","03202121330","03202121331","03202121332","03202121333","03202123000","03202123001","03202123002","03202123003","03202123010","03202123011","03202123012","03202123013","03202123020","03202123021","03202123022","03202123023","03202123030","03202123031","03202123032","03202123033","03202123100","03202123101","03202123102","03202123103","03202123110","03202123111","03202123112","03202123113","03202123120","03202123121","03202123122","03202123123","03202123130","03202123131","03202123132","03202123133","03202123201","03202123203","03202123210","03202123211","03202123212","03202123213","03202123221","03202123230","03202123231","03202123232","03202123233","03202123300","03202123301","03202123302","03202123303","03202123310","03202123311","03202123320","03202123321","03202123322","03202123323","03202130000","03202130002","03202130003","03202130010","03202130012","03202130013","03202130020","03202130021","03202130022","03202130023","03202130030","03202130031","03202130032","03202130033","03202130122","03202130200","03202130201","03202130202","03202130203","03202130210","03202130211","03202130212","03202130213","03202130220","03202130221","03202130222","03202130223","03202130230","03202130231","03202130232","03202130233","03202130300","03202130302","03202130320","03202130321","03202130322","03202130323","03202132000","03202132001","03202132002","03202132003","03202132010","03202132011","03202132012","03202132013","03202132020","03202132021","03202132022","03202132023","03202132030","03202132031","03202132032","03202132033","03202132100","03202132101","03202132102","03202132103","03202132112","03202132120","03202132121","03202132122","03202132123","03202132130","03202132132","03202132133","03202132200","03202132201","03202132210","03202132211","03202132300","03202132301","03202132302","03202132303","03202132310","03202132311","03202132312","03202132313","03202301011","03202301013","03202301031","03202301033","03202301100","03202301101","03202301102","03202301103","03202301112","03202301113","03202301120","03202301121","03202301122","03202301123","03202301130","03202301131","03202301132","03202301133","03202301300","03202301301","03202301310","03202301311","03202301312","03202301313","03202301330","03202301331","03202301332","03202301333","03202310002","03202310003","03202310012","03202310013","03202310020","03202310021","03202310022","03202310023","03202310030","03202310031","03202310032","03202310033","03202310101","03202310102","03202310103","03202310110","03202310111","03202310112","03202310113","03202310120","03202310121","03202310122","03202310123","03202310130","03202310131","03202310132","03202310133","03202310200","03202310201","03202310202","03202310203","03202310210","03202310211","03202310212","03202310213","03202310300","03202310301","03202310310","03202310311","03202310312","03202310313","03202310321","03202310323","03202310330","03202310331","03202310332","03202310333","03202311000","03202311002","03202311020","03202311022","03202311200","03202311202","03202311220","03202311222","03202312100","03202312101","03202312102","03202312103","03202312110","03202312111","03202312112","03202312113","03202312121","03202312123","03202312130","03202312131","03202312132","03202312133","03202313000","03202313002","03311001130","03311001131","03311001132","03311001133","03311001313","03311001331","03311003101","03311003103","03311003110","03311003112","03311003232","03311003233","03311003322","03311003323","03311010202","03311010220","03311011111","03311013033","03311013222","03311013233","03311013322","03311021001","03311021003","03311021010","03311021011","03311021012","03311021013","03311021031","03311021100","03311021101","03311021102","03311021103","03311021120","03311021121","03311032210","03311032211","03311032212","03311032213","03311033022","03311033103","03311033112","03311033120","03311033121","03311033123","03311033130","03311033131","03311033132","03311033133","03311033231","03311033233","03311033320","03311033321","03311033322","03311033323","03311100000","03311100121","03311100322","03311101000","03311101020","03311101021","03311101022","03311101023","03311101030","03311101031","03311101032","03311101033","03311101120","03311101121","03311101122","03311101123","03311101130","03311101201","03311101203","03311101210","03311101211","03311101212","03311101213","03311101222","03311101223","03311101230","03311101231","03311101233","03311101300","03311101301","03311103000","03311103001","03311103221","03311103223","03311110231","03311110233","03311110320","03311110322","03311111201","03311111203","03311111210","03311111333","03311112321","03311112323","03311113103","03311113112","03311113113","03311113120","03311113121","03311113122","03311113123","03311113130","03311113132","03311113300","03311113301","03311113310","03311113330","03311113331","03311113332","03311113333","03311120231","03311120233","03311120320","03311120321","03311120322","03311120323","03311121213","03311121232","03311122112","03311122113","03311122123","03311122130","03311122131","03311122132","03311122133","03311122213","03311122223","03311122230","03311122231","03311122232","03311122233","03311122300","03311122301","03311122302","03311122303","03311122310","03311122311","03311122312","03311122313","03311122320","03311122321","03311122322","03311122323","03311122330","03311122331","03311122332","03311122333","03311123002","03311123020","03311123032","03311123033","03311123202","03311123210","03311123211","03311123220","03311123221","03311123222","03311123223","03311123230","03311123231","03311123232","03311123233","03311123320","03311123322","03311123331","03311131031","03311131033","03311131101","03311131103","03311131112","03311131113","03311131120","03311131121","03311131122","03311131123","03311131130","03311131131","03311131132","03311131202","03311131203","03311131211","03311131212","03311131213","03311131220","03311131221","03311131230","03311131231","03311131300","03311131301","03311131302","03311131320","03311132110","03311132203","03311132212","03311132220","03311132221","03311132222","03311132223","03311132230","03311133001","03311133003","03311133010","03311133012","03311211011","03311211100","03311211102","03311300001","03311300003","03311300010","03311300011","03311300012","03311300013","03311300020","03311300021","03311300022","03311300023","03311300100","03311300101","03311300110","03312120230","03312120231","03312120233","03312122002","03312122003","03312122113","03312122131","03312122133","03312123000","03312123002","03312123020","03312123022","03312130032","03312130033","03312130210","12000313012","12000313013","12000313030","12000313031","12000313102","12000320212","12000320213","12000320230","12000320231","12000320302","12000320320","12000321002","12000321003","12000321020","12000321021","12001113013","12001113031","12001113301","12001113303","12001113310","12001113312","12001130332","12001130333","12001132110","12001132111","12001212211","12001212213","12001303030","12001303032","12001303033","12001310032","12001310033","12001310210","12001310211","12001310213","12001313201","12001313203","12001313210","12001313211","12001313212","12001313213","12001313230","12001313231","12001320203","12001320212","12001320213","12001320221","12001320230","12001320231","12002013303","12002013312","12002013321","12002013323","12002013330","12002013332","12002122202","12002122220","12002122222","12002131010","12002131012","12002131031","12002131033","12002131120","12002131121","12002131122","12002131123","12002131130","12002131131","12002131132","12002131133","12002131202","12002131203","12002131211","12002131212","12002131221","12002131230","12002131300","12002131301","12002131303","12002132132","12002132133","12002132310","12002132311","12002132312","12002132313","12002133123","12002133130","12002133131","12002133132","12002133133","12002133310","12002300000","12002301313","12002301320","12002301321","12002301322","12002301323","12002301330","12002301331","12002301332","12002301333","12002310011","12002310012","12002310013","12002310023","12002310030","12002310031","12002310032","12002310033","12002310100","12002310101","12002310102","12002310103","12002310120","12002310200","12002310201","12002310202","12002310203","12002310210","12002310220","12002330131","12002330133","12002331020","12002331021","12002331022","12002331023","12002332032","12002332033","12002332123","12002332132","12002332210","12002332211","12002332301","12002332310","12002332323","12002332331","12002332333","12002333000","12002333001","12002333002","12002333003","12002333023","12002333032","12002333201","12002333210","12002333220","12002333222","12003000200","12003000201","12003000202","12003000203","12003013022","12003013023","12003013032","12003013200","12003013201","12003013210","12003023102","12003023103","12003023120","12003023121","12003031321","12003031323","12003031330","12003031332","12003032112","12003032113","12003032121","12003032123","12003032130","12003032131","12003032132","12003032133","12003033101","12003033103","12003033110","12003033112","12003033121","12003033130","12003102021","12003102023","12003102030","12003102032","12003111013","12003111102","12003111120","12003111203","12003111210","12003111212","12003111213","12003111221","12003111230","12003111231","12003113301","12003113303","12003113310","12003113311","12003113312","12003113313","12003120033","12003120122","12003120123","12003120211","12003120213","12003120300","12003120301","12003120302","12003120303","12003120323","12003120332","12003120333","12003122033","12003122100","12003122101","12003122102","12003122103","12003122110","12003122111","12003122112","12003122113","12003122120","12003122121","12003122122","12003122123","12003122130","12003122131","12003122132","12003122133","12003122211","12003122300","12003122301","12003122310","12003122311","12003123002","12003123020","12003123022","12003123023","12003123200","12003123201","12003130000","12003130001","12003130002","12003130003","12003130021","12003200211","12003200213","12003200300","12003200302","12003200303","12003200312","12003200321","12003200330","12003201132","12003201133","12003201310","12003201311","12003202030","12003202031","12003202032","12003202033","12003202120","12003202122","12003202123","12003202210","12003202211","12003202213","12003202231","12003202300","12003202301","12003202302","12003202320","12003203022","12003203023","12003203032","12003203131","12003203133","12003203200","12003203201","12003203210","12003203311","12003211012","12003211013","12003211030","12003211031","12003211033","12003211102","12003211103","12003211120","12003211121","12003211122","12003211200","12003211201","12003212001","12003212002","12003212003","12003212010","12003212012","12003212020","12003212021","12003212022","12003212023","12003212200","12003212201","12003220103","12003220112","12003220121","12003220130","12003221220","12003221221","12003221222","12003221223","12003222311","12003222312","12003222313","12003222321","12003222323","12003222330","12003222331","12003222332","12003222333","12003223200","12003223202","12003223220","12003223222","12003223313","12003230033","12003230122","12003230211","12003230213","12003230300","12003230302","12003231302","12003231303","12003231320","12003231321","12003231322","12003231323","12003232200","12003232202","12003232220","12003233022","12003233023","12003233200","12003233201","12010030022","12010030023","12010030200","12010030201","12010030202","12010030203","12010200032","12010200033","12010200122","12010200210","12010200211","12010200300","12010213321","12010213322","12010213323","12010213330","12010213332","12010230223","12010230232","12010230233","12010231100","12010231101","12010231102","12010231103","12010231110","12010231112","12010232001","12010232010","12010232011","12010232012","12010321020","12010321021","12010321022","12010321023","12010321032","12010321200","12010321201","12010321203","12010321210","12010321212","12012000101","12012000103","12012000110","12012000111","12012000112","12012000113","12012000130","12012000131","12012001000","12012001002","12012001020","12012001230","12012001231","12012001232","12012001233","12012003233","12012003303","12012003312","12012003313","12012003320","12012003321","12012003322","12012003323","12012003330","12012003331","12012003332","12012003333","12012010221","12012010222","12012010223","12012010230","12012010232","12012011331","12012013200","12012013201","12012013202","12012013203","12012013220","12012013221","12012021011","12012021013","12012021100","12012021101","12012021102","12012021103","12012021110","12012021111","12012021112","12012021113","12012100202","12012100203","12012100220","12012100221","12012100222","12020020202","12020020220","12020022312","12020022313","12020022330","12020022331","12020022332","12020022333","12020023202","12020023220","12020023221","12020023222","12020023223","12020023230","12020023232","12020033032","12020033033","12020033213","12020033223","12020033230","12020033231","12020033232","12020033233","12020033320","12020033321","12020033322","12020033332","12020033333","12020101131","12020101133","12020110020","12020110022","12020110101","12020110102","12020110103","12020110110","12020110111","12020110112","12020110113","12020110121","12020110123","12020110130","12020110131","12020110132","12020111030","12020111031","12020111032","12020111033","12020111210","12020111211","12020112103","12020112112","12020112121","12020112130","12020113203","12020113212","12020113221","12020113223","12020113230","12020113232","12020121222","12020121223","12020121303","12020121312","12020121321","12020121330","12020122000","12020122001","12020122002","12020122003","12020122012","12020122013","12020122030","12020122031","12020122100","12020122101","12020122102","12020122103","12020122121","12020122123","12020122232","12020122233","12020122302","12020122303","12020122311","12020122312","12020122313","12020122321","12020122323","12020123000","12020123001","12020123112","12020123113","12020123130","12020123131","12020123223","12020130020","12020130021","12020130023","12020130202","12020130203","12020130220","12020130221","12020130311","12020130313","12020130331","12020130333","12020131000","12020131001","12020131002","12020131003","12020131022","12020131023","12020131120","12020131121","12020131122","12020131123","12020131200","12020131201","12020131202","12020131203","12020131210","12020131212","12020131220","12020131221","12020131222","12020131223","12020131230","12020132003","12020132012","12020132020","12020132021","12020132022","12020132023","12020132030","12020132031","12020132032","12020132033","12020133010","12020133011","12020133012","12020133013","12020133220","12020133221","12020133222","12020133223","12020200002","12020200003","12020200020","12020200021","12020200022","12020200023","12020200132","12020200133","12020200202","12020200203","12020200220","12020200221","12020200222","12020200223","12020200230","12020200231","12020200232","12020200233","12020200300","12020200301","12020200302","12020200303","12020200310","12020200311","12020200320","12020200321","12020200322","12020200330","12020201001","12020201010","12020202000","12020202001","12020202002","12020202003","12020202010","12020202011","12020202012","12020202013","12020202020","12020202021","12020202022","12020202023","12020202030","12020202031","12020202032","12020202033","12020202100","12020202101","12020202102","12020202113","12020202120","12020202121","12020202122","12020202123","12020202130","12020202131","12020202201","12020202223","12020202230","12020202231","12020202232","12020202233","12020202300","12020202301","12020202303","12020202310","12020202311","12020202312","12020202320","12020203002","12020203020","12020203212","12020203213","12020203230","12020203231","12020203302","12020203303","12020210133","12020210313","12020211001","12020211003","12020211010","12020211011","12020211012","12020211013","12020211020","12020211021","12020211022","12020211023","12020211030","12020211031","12020211032","12020211033","12020211100","12020211101","12020211102","12020211103","12020211110","12020211111","12020211112","12020211113","12020211120","12020211121","12020211122","12020211123","12020211130","12020211131","12020211132","12020211133","12020211200","12020211201","12020211202","12020211203","12020211210","12020211211","12020211212","12020211213","12020211220","12020211221","12020211230","12020211231","12020211232","12020211233","12020211300","12020211301","12020211311","12020211322","12020211323","12020211331","12020212022","12020212023","12020212032","12020212121","12020212123","12020212130","12020212132","12020212133","12020212210","12020212223","12020212230","12020212231","12020212232","12020212233","12020212300","12020212301","12020212302","12020212303","12020212311","12020212312","12020212313","12020212330","12020212331","12020212333","12020213000","12020213001","12020213002","12020213003","12020213010","12020213011","12020213022","12020213023","12020213100","12020213101","12020213110","12020213111","12020213112","12020213113","12020213130","12020213131","12020213200","12020213201","12020213202","12020213203","12020213212","12020213213","12020213220","12020213221","12020213222","12020213223","12020213230","12020213231","12020213232","12020213233","12020213312","12020213313","12020213330","12020213331","12020213333","12020220001","12020221322","12020221323","12020222020","12020222021","12020222022","12020222023","12020222121","12020222123","12020222130","12020222132","12020222301","12020222310","12020223033","12020223122","12020223233","12020223322","12020223323","12020223332","12020230000","12020230001","12020230002","12020230003","12020230010","12020230011","12020230012","12020230013","12020230111","12020230113","12020230130","12020230131","12020230232","12020230233","12020231000","12020231001","12020231002","12020231020","12020231021","12020231022","12020231023","12020231030","12020231032","12020231110","12020231111","12020231112","12020231113","12020232010","12020232011","12020232310","12020232311","12020232312","12020232313","12020233010","12020233011","12020233012","12020233013","12020300000","12020300002","12020300010","12020300011","12020300012","12020300013","12020300021","12020300022","12020300023","12020300030","12020300031","12020300032","12020300101","12020300103","12020300110","12020300111","12020300112","12020300113","12020300130","12020300131","12020300200","12020300201","12020300202","12020300203","12020300210","12020300220","12020300221","12020300303","12020300312","12020300321","12020300323","12020300330","12020300331","12020300332","12020300333","12020301000","12020301003","12020301012","12020301013","12020301021","12020301030","12020301031","12020301102","12020301103","12020301112","12020301120","12020301121","12020301130","12020301210","12020301211","12020301212","12020301213","12020301220","12020301221","12020301222","12020301223","12020301230","12020301231","12020301232","12020301233","12020301300","12020301302","12020301312","12020301313","12020301320","12020301321","12020301322","12020301323","12020301333","12020302000","12020302002","12020302012","12020302013","12020302030","12020302031","12020302033","12020302100","12020302101","12020302102","12020302103","12020302110","12020302111","12020302112","12020302113","12020302120","12020302121","12020302122","12020302123","12020302130","12020302131","12020302132","12020302133","12020302202","12020302203","12020302211","12020302212","12020302220","12020302221","12020302222","12020302230","12020302231","12020302232","12020302233","12020302300","12020302301","12020302310","12020302311","12020302312","12020302313","12020302320","12020302321","12020302322","12020302323","12020302330","12020302331","12020302332","12020302333","12020303000","12020303001","12020303002","12020303003","12020303010","12020303011","12020303012","12020303013","12020303020","12020303021","12020303022","12020303023","12020303030","12020303031","12020303032","12020303033","12020303100","12020303102","12020303103","12020303112","12020303121","12020303130","12020303200","12020303201","12020303202","12020303203","12020303210","12020303211","12020303212","12020303213","12020303220","12020303221","12020303222","12020303223","12020303303","12020303320","12020303321","12020303322","12020303323","12020303330","12020310012","12020310013","12020310022","12020310023","12020310030","12020310110","12020310111","12020310112","12020310113","12020310123","12020310200","12020310201","12020310210","12020310212","12020310221","12020310223","12020310230","12020310232","12020311000","12020311002","12020311013","12020311031","12020311032","12020311033","12020311100","12020311101","12020311102","12020311120","12020311122","12020311210","12020311211","12020312121","12020312123","12020312130","12020312132","12020312221","12020312223","12020312230","12020312232","12020313000","12020313002","12020313310","12020313312","12020313313","12020313330","12020313331","12020320000","12020320002","12020320003","12020320010","12020320011","12020320100","12020320101","12020320110","12020320111","12020320113","12020321000","12020321001","12020321002","12020321003","12020321021","12020321030","12020321031","12020321032","12020321033","12020321113","12020321211","12020321311","12020321312","12020321313","12020321330","12020321331","12020321332","12020321333","12020322012","12020322013","12020322030","12020322031","12020322101","12020322103","12020322110","12020322212","12020322213","12020322230","12020322231","12020322311","12020322313","12020323022","12020323023","12020323033","12020323113","12020323122","12020323131","12020323132","12020323133","12020323200","12020323201","12020323202","12020323310","12020323311","12020323331","12020323333","12020330001","12020330002","12020330003","12020330112","12020330113","12020330130","12020330131","12020330200","12020330201","12020330202","12020330203","12020330210","12020330212","12020330213","12020330220","12020330221","12020330222","12020330223","12020330230","12020330231","12020330320","12020331203","12020331212","12020331221","12020331222","12020331230","12020331323","12020331332","12020332020","12020332022","12020332023","12020332200","12020332201","12020332220","12020332222","12020332223","12020332233","12020332302","12020332320","12020332322","12020333000","12020333112","12020333121","12020333123","12020333130","12020333131","12020333132","12020333133","12020333310","12020333311","12021000100","12021000101","12021000102","12021000103","12021000110","12021000111","12021000112","12021000113","12021000120","12021000121","12021000122","12021000123","12021000130","12021000131","12021000300","12021000301","12021001000","12021001001","12021001002","12021001003","12021001010","12021001011","12021001012","12021001013","12021001020","12021001021","12021001023","12021001030","12021001032","12021002322","12021002323","12021003203","12021003212","12021003221","12021003223","12021003230","12021003232","12021003301","12021003303","12021003310","12021003321","12021020100","12021020101","12021021011","12021021100","12021021213","12021021231","12021023213","12021023221","12021023223","12021023230","12021023231","12021023232","12021023233","12021023302","12021023320","12021023321","12021023322","12021023323","12021023330","12021023332","12021200021","12021200023","12021200030","12021200032","12021200110","12021200111","12021200112","12021200113","12021200210","12021200302","12021200303","12021200312","12021200320","12021200321","12021200330","12021201001","12021201003","12021201010","12021201011","12021201012","12021201013","12021201100","12021201101","12021201102","12021201103","12021201110","12021202011","12021202013","12021202100","12021202102","12021202103","12021202112","12021202113","12021202120","12021202121","12021202123","12021202130","12021202131","12021202132","12021202202","12021202203","12021202212","12021202220","12021202221","12021202230","12021202320","12021202321","12021202322","12021202323","12021202332","12021202333","12021203221","12021203222","12021203223","12021203301","12021203303","12021203310","12021203312","12021210010","12021210012","12021210221","12021210223","12021210230","12021212123","12021212300","12021212301","12021220102","12021220103","12021220110","12021220111","12021220120","12021220121","12021220221","12021220223","12021220230","12021220232","12021222320","12021222321","12021222322","12021222323","12022000222","12022000223","12022001011","12022001013","12022001100","12022001101","12022001102","12022001103","12022001110","12022001112","12022002000","12022002001","12022002211","12022002213","12022002300","12022002302","12022003010","12022003011","12022003012","12022003013","12022003323","12022010312","12022010313","12022013302","12022013303","12022013320","12022013321","12022020023","12022020032","12022020201","12022020210","12022021003","12022021021","12022022112","12022022113","12022022130","12022022131","12022031013","12022031031","12022032003","12022032012","12022032021","12022032030","12022033013","12022033030","12022033031","12022033033","12022033102","12022033120","12022033122","12022033200","12022033201","12022033202","12022033203","12022100012","12022100013","12022100030","12022100031","12022101031","12022101033","12022101110","12022101112","12022101113","12022101120","12022101122","12022101123","12022101221","12022101223","12022101230","12022101232","12022101300","12022101301","12022101322","12022101333","12022102130","12022102131","12022102132","12022102133","12022102212","12022102221","12022102230","12022103003","12022103012","12022103021","12022103030","12022103031","12022103032","12022103033","12022103100","12022103210","12022103211","12022103311","12022103313","12022103332","12022103333","12022110001","12022110011","12022110012","12022110013","12022110030","12022110031","12022110033","12022110100","12022110101","12022110102","12022110103","12022110111","12022110112","12022110113","12022110120","12022110121","12022110122","12022110130","12022110131","12022110222","12022111000","12022111001","12022111002","12022111200","12022111201","12022111301","12022111303","12022111310","12022111312","12022112023","12022112031","12022112032","12022112033","12022112120","12022112121","12022112122","12022112130","12022112200","12022112201","12022112202","12022112203","12022112210","12022112220","12022112221","12022112300","12022112301","12022112302","12022112303","12022113012","12022113030","12022113331","12022120123","12022120230","12022120231","12022120232","12022120233","12022120300","12022120301","12022120310","12022121001","12022121003","12022121010","12022121012","12022121110","12022121111","12022122023","12022122201","12022122210","12022122220","12022122222","12022122223","12022123123","12022123132","12022123232","12022123233","12022123301","12022123310","12022123313","12022123322","12022123331","12022131333","12022132000","12022132001","12022132002","12022132003","12022132012","12022132013","12022132021","12022132030","12022132031","12022132032","12022132102","12022132120","12022132122","12022132123","12022132130","12022132131","12022132132","12022132133","12022132200","12022132201","12022132202","12022132203","12022132210","12022132211","12022132212","12022132213","12022132220","12022132230","12022132231","12022132233","12022132300","12022132301","12022132302","12022132303","12022132320","12022132321","12022132322","12022132330","12022133023","12022133032","12022133111","12022133201","12022133210","12022133222","12022133223","12022133301","12022133303","12022133310","12022133311","12022133312","12022133313","12022133322","12022133323","12022133332","12022202111","12022202133","12022202311","12022203022","12022203200","12022211011","12022211013","12022211100","12022211102","12022212123","12022212132","12022212212","12022212230","12022212301","12022212310","12022213002","12022213003","12022213010","12022213011","12022213012","12022213013","12022213020","12022213021","12022213030","12022213032","12022213310","12022213311","12022213312","12022213313","12022213330","12022213331","12022222031","12022222033","12022222122","12022222330","12022222331","12022222332","12022222333","12022223012","12022223030","12022223031","12022223033","12022223111","12022223113","12022223122","12022223123","12022223132","12022223203","12022223210","12022223211","12022223212","12022223213","12022223220","12022223221","12022223222","12022223230","12022223231","12022223300","12022223301","12022223302","12022223310","12022223320","12022230020","12022230022","12022232000","12022232002","12022301010","12022301011","12022301013","12022301100","12022301102","12022301112","12022301113","12022301212","12022301213","12022301331","12022302133","12022302311","12022303021","12022303022","12022303023","12022303030","12022303031","12022303102","12022303120","12022303200","12022310000","12022310001","12022310002","12022310003","12022310110","12022310111","12022310203","12022310210","12022310211","12022310212","12022310213","12022310220","12022310333","12022311012","12022311013","12022311021","12022311030","12022311031","12022311032","12022311033","12022311101","12022311110","12022311120","12022311121","12022311122","12022311123","12022311130","12022311132","12022311222","12022311301","12022311310","12022311311","12022312111","12022313000","12022313001","12022313003","12022313010","12022313012","12022313013","12022313030","12022313031","12022313032","12022313033","12022313101","12022313102","12022313103","12022313110","12022313112","12022313113","12022313120","12022313121","12022313123","12022313130","12022313131","12022313132","12022313133","12022313210","12022331112","12022331113","12022331130","12022331131","12022332332","12023000002","12023000003","12023000120","12023000121","12023000122","12023000123","12023000203","12023000212","12023000220","12023000221","12023000222","12023000223","12023000230","12023000232","12023001031","12023001033","12023001120","12023001121","12023001122","12023001123","12023001331","12023002100","12023002101","12023002102","12023002103","12023002202","12023002203","12023002220","12023002221","12023003003","12023003012","12023010201","12023010202","12023010203","12023010212","12023010220","12023010221","12023011202","12023011203","12023011213","12023011220","12023011221","12023011231","12023011233","12023011300","12023011301","12023011302","12023011303","12023011312","12023011320","12023011321","12023011322","12023011323","12023011330","12023011332","12023012331","12023012333","12023013222","12023020200","12023021132","12023021133","12023021232","12023021233","12023021310","12023022023","12023022032","12023022111","12023022113","12023022121","12023022123","12023022130","12023022132","12023022201","12023022210","12023022211","12023022213","12023022232","12023022233","12023022301","12023022302","12023022303","12023022310","12023022311","12023022312","12023022321","12023022323","12023022330","12023022332","12023023000","12023023002","12023023010","12023023011","12023023101","12023023103","12023023121","12023023123","12023023130","12023023132","12023023133","12023030023","12023030032","12023030111","12023031000","12023131220","12023131221","12023131222","12023131223","12023133002","12023133020","12023133021","12023133022","12023133023","12023200003","12023200010","12023200011","12023200012","12023200021","12023200030","12023200200","12023200201","12023200202","12023200212","12023200213","12023200230","12023200231","12023200301","12023200303","12023200310","12023200312","12023200320","12023200322","12023200323","12023200333","12023202002","12023202020","12023202022","12023202110","12023202111","12023202112","12023202113","12023202131","12023202133","12023202202","12023202211","12023202213","12023202220","12023202323","12023202332","12023203000","12023203002","12023203003","12023203012","12023203020","12023203021","12023203022","12023203030","12023203122","12023203123","12023203300","12023203301","12023220101","12023220110","12023220133","12023220230","12023220231","12023220232","12023220233","12023220300","12023220301","12023220302","12023220303","12023220311","12023220323","12023220332","12023220333","12023221000","12023221002","12023221022","12023221102","12023221103","12023221112","12023221121","12023221123","12023221130","12023221132","12023221200","12023221201","12023221202","12023221203","12023221213","12023221222","12023221302","12023222101","12023222103","12023222110","12023222111","12023222112","12023222113","12023222121","12023222130","12023222131","12023223000","12023223001","12023223002","12023223003","12023223022","12023223023","12023223031","12023223033","12023223120","12023223122","12023223200","12023223201","12023223203","12023230200","12023230201","12023230202","12023230203","12023232022","12023232023","12023232033","12023232131","12023232221","12023232222","12023232223","12023232231","12023232233","12023232320","12023232322","12023233030","12023233032","12023233200","12023233212","12023233230","12023233302","12023233303","12023233320","12023233321","12023233330","12023233331","12023233332","12023233333","12023322220","12023322222","12032013320","12032013321","12032013322","12032013323","12032020103","12032020112","12032020113","12032020121","12032020130","12032020131","12032023002","12032023003","12032023020","12032023021","12032032021","12032032023","12032032032","12032032201","12032033310","12032033311","12032033312","12032033313","12032033330","12032033331","12032033332","12032033333","12032122200","12032122202","12032200312","12032200313","12032200330","12032200331","12032201202","12032201220","12032210011","12032210013","12032210100","12032210102","12032210122","12032210123","12032210211","12032210213","12032210300","12032210301","12032210302","12032210303","12032210320","12032210321","12032222323","12032222332","12032223220","12032223221","12032223223","12032300230","12032300231","12032300232","12032300233","12032302010","12032302011","12200003130","12200003131","12200003133","12200101131","12200101133","12200110002","12200110003","12200110020","12200110021","12200110101","12200110110","12200110222","12200110223","12200110300","12200110301","12200110302","12200110303","12200112000","12200112001","12200112211","12200112213","12200112300","12200112302","12201001111","12201001113","12201010000","12201010001","12201010002","12201010003","12201010010","12201010011","12201010012","12201010013","12201010030","12201010031","12201010100","12201010102","12201010120","12201011021","12201011030","12201011101","12201011103","12201011110","12201011112","12201011130","12201013211","12201013300","12201013320","12201013321","12201013322","12201013323","12201013330","12201013332","12201013333","12201020313","12201020331","12201020332","12201020333","12201021211","12201021213","12201021300","12201021302","12201023113","12201023120","12201023121","12201023122","12201023123","12201023131","12201030313","12201031011","12201031013","12201031022","12201031023","12201031110","12201031200","12201031201","12201031202","12201031203","12201031220","12201031221","12201032001","12201032002","12201032003","12201032103","12201032112","12201032121","12201032132","12201032200","12201032201","12201032203","12201032212","12201032213","12201032230","12201032231","12201032302","12201032310","12201032311","12201032312","12201032313","12201032320","12201100023","12201100032","12201100121","12201100130","12201100132","12201100133","12201100201","12201100210","12201100310","12201100311","12201100312","12201100313","12201102203","12201102221","12201111313","12201112112","12201112130","12201113031","12201113113","12201113120","12201113131","12201113333","12201131003","12201131033","12201131122","12201131211","12201131300","12201133301","12201133303","12210000021","12210000030","12210000031","12210000032","12210000033","12210000202","12210001010","12210001011","12210002002","12210002020","12210002032","12210002210","12210020130","12210020311","12210020312","12210020313","12210020321","12210020330","12210020331","12210020332","12210020333","12210021200","12210021202","12210021220","12210021222","12210201222","12210203110","12210203111","12210203112","12210203113","13300211201","13300211203","13300211210","13300211211","13300211212","13300211213","13300211221","13300211223","13300211230","13300211231","13300211232","13300211233","13300211302","13300211320","13300211322","13300213001","13300213010","13300213011","31121301200","31121301201","31121301202","31121301203","31121301220","31121301221","31121301222","31121301223","31122312102","31122312103","31122312110","31122312111","31122312112","31122312113","31122312120","31122312121","31122312122","31122312123","31122312130","31122312131","31122312132","31122312133","31122312301","31122312310","31122312311","31122313000","31122313001","31122313002","31122313003","31122313010","31122313012","31122313020","31122313021","31122313023","31122313032","31123013122","31123013123","31123013211","31123013213","31123013231","31123013232","31123013233","31123013300","31123013301","31123013302","31123013303","31123013320","31123021313","31123021331","31123021333","31123023111","31123030202","31123030220","31123030221","31123030222","31123030223","31123031001","31123031003","31123031010","31123031011","31123031012","31123032000","31301002303","31301002312","31301002321","31301002323","31301002330","31301002331","31301002332"],i=false,d=[];this.Init=function(a){y=a+"/GetBirdsEyeSceneByLocation";z=a+"/GetBirdsEyeSceneById";r=true};this.SetClientToken=function(b){e=b;if(a){a.SetClientToken(e,p)}};this.SetUseOriginTiles=function(a){p=a};this.SetGUID=function(b){m=b;if(a){a.SetGUID(m)}if(typeof VEMap!="undefined"){s=VEMap._GetMapFromGUID(m)}};this.Destroy=function(){e=null;r=false};this.RequestPending=function(){return i};function P(c,d,b){return a.IsValidTile(c,d,b)}function N(b,c,d){return a.GetTileFilename(b,c,d,currentView.mapStyle)}this.GetMiddleTileFilename=function(){return a.GetMiddleTileFilename()};function I(e){if(!a){return 0}var b=new VEPixel(MathRound(originX+offsetX+width/2),MathRound(originY+offsetY+height/2)),f=a.PixelToLatLong(b,e);b.x++;var g=a.PixelToLatLong(b,e),h=Math.sin(DegToRad(f.latitude)),i=Math.sin(DegToRad(g.latitude)),c=earthRadius/2*MathAbs(Math.log((1+h)/(1-h))-Math.log((1+i)/(1-i))),d=earthRadius*MathAbs(DegToRad(f.longitude)-DegToRad(g.longitude));return Math.sqrt(d*d+c*c)}function J(c,b){return a?a.PixelToLatLong(c,b):null}function E(c,d,b){if(a){a.PixelToLatLongAsync(c,d,b)}else{b(null)}}function H(c,b){return a?a.LatLongToPixel(c,b):null}function D(c,d,b){if(a){a.LatLongToPixelAsync(c,d,b)}else{b(null)}}function B(){return 2}function G(a){if(a.zoomLevel>=2){tileLayerManager.SetMarketMaxZoom(2)}if(a.zoomLevel<1){a.SetZoomLevel(1)}else{if(a.zoomLevel>2){a.SetZoomLevel(2)}}}function R(){return a}function Q(){return a.GetBounds()}function O(){return b}function K(){if(!b){return null}var a={};return a}function F(){if(currentView!=null&&!Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)&&currentView.zoomLevel>0){if(currentView.zoomLevel<MapControl.Features.BirdsEyeAtZoomLevel){a=null;h=b;b=false;q()}else{v(currentView.latlong,"North",false,500)}}}var x=false;function v(e,i,t,o,m,f,r,s,p){j();l=t;x=r;n=p;if(!S(e)){a=null;h=b;b=false;q(m);return }k=y;c=[];c.push(new VEParameter("latitude",e.latitude));c.push(new VEParameter("longitude",e.longitude));c.push(new VEParameter("level",20));var d="NoSpin";if(f==Msn.VE.BirdsEyeSearchSpinDirection.ClockwiseSpin){d="CounterclockwiseSpin"}else{if(f==Msn.VE.BirdsEyeSearchSpinDirection.CounterclockwiseSpin){d="ClockwiseSpin"}}c.push(new VEParameter("spinDirection",'"'+d+'"'));if(i){c.push(new VEParameter("orientation",'"'+i+'"'))}else{c.push(new VEParameter("orientation",'"'+Msn.VE.Orientation.North+'"'))}if(o){g=window.setTimeout(u,o)}else{u(m,s);g=-1}}function L(b){if(a&&a.GetID()==b){return }j();l=true;k=z;c=[];c.push(new VEParameter("sceneId",b));u()}function j(){try{if(g!=-1){window.clearTimeout(g)}}catch(a){}g=-1}function u(b,d){j();if(!k){return }i=true;if(e){c.push(new VEParameter(Msn.VE.API.Constants.clienttoken,e))}function a(a){if(typeof w=="function"&&r){w(a,b,d)}}JSONRequestInvoke(k,c,a)}function w(c,f,d){if(s){s.__HandleAuthentication(c)}h=b;t=a;a=null;b=false;if(c!=null){if(c.Scene){a=M(c.Scene,d);if(Msn.VE.API&&e){a.SetClientToken(e,p)}a.SetGUID(m);b=true}}q(f,d)}function M(a,b){switch(a.O){case 0:a.O=Msn.VE.Orientation.North;break;case 2:a.O=Msn.VE.Orientation.East;break;case 4:a.O=Msn.VE.Orientation.South;break;case 6:a.O=Msn.VE.Orientation.West}return new Msn.VE.ObliqueScene(a.S,a.Q,a.RI,a.O,a.L,null,a.Fcx,a.Fcy,[[a.QA,a.QB,a.QC],[a.QD,a.QE,a.QF],[a.QG,a.QH,a.QI]],[[a.XA,a.XB,a.XC],[a.XD,a.XE,a.XF],[a.XG,a.XH,a.XI]],b)}function q(e){i=false;if(typeof e=="function"){if(b){e(a)}else{e(null)}}if(l){l=false;if(b){var c=preferredView.MakeCopy();if(!Msn.VE.MapStyle.IsViewOblique(c.mapStyle)){c.SetZoomLevel(1);c.SetCenterLatLong((new Msn.VE.LatLong).Copy(preferredView.latlong))}var f=Msn.VE.MapStyle.IsViewOblique(c.mapStyle)?c.mapStyle:obliqueStyle;c.SetMapStyle(f,a.GetID(),a.GetOrientation());SetView(c);Fire("onobliquechange")}else{if(x&&t){a=t;b=true;Fire("obliquerequestunavailable")}else{var c=preferredView.MakeCopy();c.SetMapStyle(lastOrthoMapStyle);if(c.GetViewType()!="latlongRect"){c.SetZoomLevel(lastOrthoZoomLevel)}SetView(c);Fire("onendmapstyleoblique");Fire("onerror",CreateEvent(currentView.latlong,currentView.zoomLevel,L_ObliqueModeImageNotAvailable_Text))}}}if(!n){if(h!=b){if(b){Fire("onobliqueenter")}else{Fire("onobliqueleave")}}if(d.length>0){A(b)}}n=false}function S(a){if(!a||!f||f.length==0){return false}var c=orthoMode.LatLongToPixel(a,f[0].length),b=VEPixelToQuadKey(c,f[0].length);return o(b,0,f.length-1)}function o(a,d,c){if(c<d){return false}var b=MathFloor((d+c)/2);if(f[b]==a){return true}if(a<f[b]){return o(a,d,b-1)}return o(a,b+1,c)}function C(a,c){if(i){if(d[a]!=true){var e=d.push({callbackName:a,callback:c});d[a]=true}}else{if(typeof c=="function"){c(b)}}}function A(c){var e=d.length;for(var b=0;b<e;b++){var a=d.shift();delete d[a.callbackName];if(typeof a.callback=="function"){a.callback(c)}}}this.IsValidTile=P;this.GetFilename=N;this.MetersPerPixel=I;this.PixelToLatLong=J;this.PixelToLatLongAsync=E;this.LatLongToPixel=H;this.LatLongToPixelAsync=D;this.GetBounds=Q;this.ValidateZoomLevel=G;this.IsAvailable=O;this.UpdateAvailability=F;this.CancelRequest=j;this.GetEventInfo=K;this.GetScene=R;this.RequestSceneAtLatLong=v;this.RequestScene=L;this.GetCurrentMaxZoomLevel=B;this.GetObliqueAvailability=C}function OrthoMode(){var a=[new Msn.VE.Bounds(1,17,0,0,2,2),new Msn.VE.Bounds(18,19,12379,112260,20388,119266),new Msn.VE.Bounds(18,19,80099,115425,85051,119645),new Msn.VE.Bounds(18,19,220032,93184,240640,113792),new Msn.VE.Bounds(18,19,32768,81920,94208,98304),new Msn.VE.Bounds(18,19,38912,98304,80896,106496),new Msn.VE.Bounds(18,19,44544,106496,77824,113408),new Msn.VE.Bounds(18,19,49152,113408,68096,122880),new Msn.VE.Bounds(18,19,122880,71680,133120,103424),new Msn.VE.Bounds(18,19,133120,59392,142848,103424),new Msn.VE.Bounds(18,19,142848,55296,155648,103424)];this.Init=function(){};this.Destroy=function(){};function j(a,b,d){var c=1<<d;return a>=0&&b>=0&&a<c&&b<c}function i(c,d,f,b){var a=new VETileContext;a.XPos=c;a.YPos=d;a.ZoomLevel=f;a.MapStyle=currentView.mapStyle;var e=b.GetTilePath(a);return e}function b(a){return earthCircumference/((1<<a)*tileSize)}function h(d,e){var c=b(e),f=d.x*c-projectionOffset,g=projectionOffset-d.y*c,a=new Msn.VE.LatLong;a.latitude=RadToDeg(Math.PI/2-2*Math.atan(Math.exp(-g/earthRadius)));a.longitude=RadToDeg(f/earthRadius);return a}function e(d,g,e){var b=[];for(var a=0;a<d.length;++a){var c=this.PixelToLatLong(d[a],g);if(Msn.VE.API!=null){var f=new VELatLong(c.latitude,c.longitude);b[a]=f}else{b[a]=c}}if(e){e(b)}}function g(d,f){var e=Math.sin(DegToRad(d.latitude)),g=earthRadius*DegToRad(d.longitude),h=earthRadius/2*Math.log((1+e)/(1-e)),c=b(f),a=new VEPixel;a.x=(projectionOffset+g)/c;a.y=(projectionOffset-h)/c;return a}function d(b,e,d){var c=[];for(var a=0;a<b.length;++a){c[a]=this.LatLongToPixel(b[a],e)}if(d){d(c)}}function k(c){if(c==undefined){c=currentView}var d=c.zoomLevel,f=c.center.x+mapCenterOffset.x,g=c.center.y+mapCenterOffset.y;for(var b=0;b<a.length;b++){var h=d-a[b].z1,e=tileSize*Math.pow(2,h),k=a[b].x1*e,i=a[b].x2*e,l=a[b].y1*e,j=a[b].y2*e;if(f>=k&&f<=i&&g>=l&&g<=j){if(d>=a[b].z1&&d<=a[b].z2||d<=tileLayerManager.GetMaxTileZoom()){return a[b]}}}return a[0]}function c(e){var f=e.center.x+mapCenterOffset.x,g=e.center.y+mapCenterOffset.y,c=0;for(var b=0;b<a.length;b++){var d=tileSize*Math.pow(2,e.zoomLevel-a[b].z1),j=a[b].x1*d,h=a[b].x2*d,k=a[b].y1*d,i=a[b].y2*d;if(f>=j&&f<=h&&g>=k&&g<=i){c=Math.max(c,a[b].z2)}}c=Math.max(c,tileLayerManager.GetMaxTileZoom());return c}function f(d){var f=d.center.x+mapCenterOffset.x,g=d.center.y+mapCenterOffset.y,c=0;for(var b=0;b<a.length;b++){var e=tileSize*Math.pow(2,d.zoomLevel-a[b].z1),j=a[b].x1*e,h=a[b].x2*e,k=a[b].y1*e,i=a[b].y2*e;if(f>=j&&f<=h&&g>=k&&g<=i){c=0;if(a[b].z2>=d.zoomLevel){tileLayerManager.SetMarketMaxZoom(a[b].z2);return }else{if(a[b].z2>c){tileLayerManager.SetMarketMaxZoom(a[b].z2);c=a[b].z2;if(c<tileLayerManager.GetMaxTileZoom()){if(d.zoomLevel<=tileLayerManager.GetMaxTileZoom()){c=d.zoomLevel}else{c=tileLayerManager.GetMaxTileZoom()}}}}}}d.SetZoomLevel(c)}this.IsValidTile=j;this.GetFilename=i;this.MetersPerPixel=b;this.PixelToLatLong=h;this.PixelToLatLongAsync=e;this.LatLongToPixel=g;this.LatLongToPixelAsync=d;this.GetBounds=k;this.ValidateZoomLevel=f;this.GetCurrentMaxZoomLevel=c}function ThreeDMode(){var internalOrthoMode=new OrthoMode,bounds=[new Msn.VE.Bounds(1,17,0,0,2,2),new Msn.VE.Bounds(18,19,12379,112260,20388,119266),new Msn.VE.Bounds(18,19,80099,115425,85051,119645),new Msn.VE.Bounds(18,19,220032,93184,240640,113792),new Msn.VE.Bounds(18,19,32768,81920,94208,98304),new Msn.VE.Bounds(18,19,38912,98304,80896,106496),new Msn.VE.Bounds(18,19,44544,106496,77824,113408),new Msn.VE.Bounds(18,19,49152,113408,68096,122880),new Msn.VE.Bounds(18,19,122880,71680,133120,103424),new Msn.VE.Bounds(18,19,133120,59392,142848,103424),new Msn.VE.Bounds(18,19,142848,55296,155648,103424)];this.Init=function(){};this.Destroy=function(){};function IsValidTile(b,c,a){return internalOrthoMode.IsValidTile(b,c,a)}function GetFilename(a,b,d,c){return internalOrthoMode.GetFilename(a,b,d,c)}function MetersPerPixel(a){return internalOrthoMode.MetersPerPixel(a)}function PixelToLatLong(pixel){if(!view3DCreated){return null}var lat,lon,latlonvalid,result=spacecontrol.PixelToLatLong(pixel.x,pixel.y);eval(result);if(latlonvalid!=0){var latlong=new Msn.VE.LatLong;latlong.latitude=RadToDeg(lat);latlong.longitude=RadToDeg(lon);return latlong}return null}function PixelToLatLongAsync(d,g,e){var b=[];for(var a=0;a<d.length;++a){var c=this.PixelToLatLong(d[a],g);if(Msn.VE.API!=null){var f=new VELatLong(c.latitude,c.longitude);b[a]=f}else{b[a]=c}}if(e){e(b)}}function LatLongToPixel(latlong){if(!view3DCreated){return null}var x,y,xyvalid=0,result=spacecontrol.LatLongToPixel(parseFloat(latlong.latitude),parseFloat(latlong.longitude));eval(result);if(xyvalid!=0){var pixel=new VEPixel(x,y);return pixel}return null}function LatLongToPixelAsync(b,e,d){var c=[];for(var a=0;a<b.length;++a){c[a]=this.LatLongToPixel(b[a],e)}if(d){d(c)}}function GetBounds(){return null}function GetCurrentMaxZoomLevel(){return 19}function ValidateZoomLevel(a){if(a.zoomLevel<1){a.SetZoomLevel(1)}if(a.zoomLevel>19){a.SetZoomLevel(19)}}function _InternalOrthoMode(){return internalOrthoMode}this._InternalOrthoMode=_InternalOrthoMode;this.IsValidTile=IsValidTile;this.GetFilename=GetFilename;this.MetersPerPixel=MetersPerPixel;this.PixelToLatLong=PixelToLatLong;this.PixelToLatLongAsync=PixelToLatLongAsync;this.LatLongToPixel=LatLongToPixel;this.LatLongToPixelAsync=LatLongToPixelAsync;this.GetBounds=GetBounds;this.ValidateZoomLevel=ValidateZoomLevel;this.GetCurrentMaxZoomLevel=GetCurrentMaxZoomLevel}function BoxTool(){var b=document.createElement("div"),a=document.createElement("div"),h,c=0,d=0,e=0,f=0;this.Init=function(){b.className="MSVE_ZoomBox_bg";a.className="MSVE_ZoomBox_fg";b.attachEvent("onmouseup",MouseUp);a.attachEvent("onmouseup",MouseUp);if(map!=null){map.appendChild(b);map.appendChild(a)}};this.Destroy=function(){b.detachEvent("onmouseup",MouseUp);a.detachEvent("onmouseup",MouseUp);if(map!=null){map.removeChild(b);map.removeChild(a)}};function k(i){if(typeof VE_ContextMenu!="undefined"&&VE_ContextMenu!=null){VE_ContextMenu.RemoveContextPin();VE_ContextMenu.CloseMenu()}var b=Gimme.Screen.getMousePosition(i);h=g(p_elSource).getPagePosition();c=e=b.x-h.x+offsetX;d=f=b.y-h.y+offsetY;j(c,d,1,1);o();if(a.setCapture){a.setCapture()}}function l(i){var a=Gimme.Screen.getMousePosition(i);e=a.x-h.x+offsetX;f=a.y-h.y+offsetY;var g=e-c,b=f-d;j(Math.min(c,c+g),Math.min(d,d+b),Math.abs(g),Math.abs(b))}function m(j){if(MathAbs(c-e)>1&&MathAbs(d-f)>1){var b=preferredView.MakeCopy();b.SetZoomLevel(currentView.zoomLevel);if(!j.shiftKey){b.SetPixelRectangle(new Msn.VE.PixelRectangle(new VEPixel(originX+c,originY+d),new VEPixel(originX+e,originY+f)))}else{var h=width/MathAbs(e-c),i=height/MathAbs(f-d),g=h<i?h:i;b.SetPixelRectangle(new Msn.VE.PixelRectangle(new VEPixel(originX-Math.floor(width*(g-1)/2),originY-Math.floor(height*(g-1)/2)),new VEPixel(originX+Math.floor(width*(g+1)/2),originY+Math.floor(height*(g+1)/2))))}SetView(b)}setTimeout(n,250);if(a.releaseCapture){a.releaseCapture()}}function j(e,f,d,c){i(b,e+1,f+1,d,c);i(a,e,f,d,c)}function i(a,d,e,c,b){a.style.left=d+"px";a.style.top=e+"px";a.style.width=c+"px";a.style.height=b+"px"}function o(){b.style.display="block";a.style.display="block"}function n(){b.style.display="none";a.style.display="none"}this.OnMouseDown=k;this.OnMouseMove=l;this.OnMouseUp=m}function PanTool(){var a=false;this.Init=function(){};this.Destroy=function(){};function b(b){a=false;var d=Gimme.Screen.getMousePosition(b);lastMouseX=d.x;lastMouseY=d.y;if(p_elSource.setCapture){p_elSource.setCapture()}var e=g(p_elSource).getPagePosition();x=e.x;y=e.y;var f=originX+offsetX+lastMouseX-x,h=originY+offsetY+lastMouseY-y,c=CreateEvent(currentMode.PixelToLatLong(new VEPixel(f,h),currentView.zoomLevel),currentView.zoomLevel,null,null,null,b.button,0,b);Fire("onstartpan",c);FireDefaultEvent("onmousedown",c)}function c(e){var d=Gimme.Screen.getMousePosition(e),b=d.x,c=d.y;PanMap(lastMouseX-b,lastMouseY-c);if(lastMouseX!=b||lastMouseY!=c){a=true}lastMouseX=b;lastMouseY=c}function d(c){ComputeCenterPoint(true);if(p_elSource.releaseCapture){p_elSource.releaseCapture()}if(a){Fire("onendpan");Fire("onchangeview");a=false}var d=Gimme.Screen.getMousePosition(c),e=originX+offsetX+d.x-x,f=originY+offsetY+d.y-y,b=CreateEvent(currentMode.PixelToLatLong(new VEPixel(e,f),currentView.zoomLevel),currentView.zoomLevel,null,null,null,c.button,0,c);FireDefaultEvent("onmouseup",b);FireDefaultEvent("onclick",b);return b}this.OnMouseDown=b;this.OnMouseMove=c;this.OnMouseUp=d}function TargetTool(){var b=this,f=Msn.VE.Geometry,d,a,e,c;this.centeringTrigger=false;g();function g(){d=false;a=false;e=null;c=false;m_dragging=false}this.init=function(){if(Msn.VE.MapStyle.IsViewOblique(currentView.mapStyle)){b.trackMovement()}};this.destroy=function(){b.ignoreMovement();f=null};this.isOutOfBounds=function(){return a};this.trackMovement=function(){if(!d){p_elSource.attachEvent("onmousemove",b.OnMouseMove);d=true}};this.ignoreMovement=function(){p_elSource.detachEvent("onmousemove",b.OnMouseMove);d=a=b.centeringTrigger=false;p_this.SetCursor(cssCursors.Grab)};this.setBoundingArea=function(a){if(a instanceof f.Rectangle){e=a}};this.OnMouseDown=function(){};this.OnMouseMove=function(b){if(e==null){return }if(!dragging){var d=Gimme.Screen.getMousePosition(b);if(!e.containsPoint(d)){if(!hijackMouseMove&&(!c||p_elSource.style.cursor!=cssCursors.Target)){a=c=true;p_this.SetCursor(cssCursors.Target)}}else{if(c){a=c=false;p_this.SetCursor(cssCursors.Grab)}}}};this.OnMouseUp=function(c){if(typeof VE_ContextMenu!="undefined"&&VE_ContextMenu!=null){VE_ContextMenu.RemoveContextPin();VE_ContextMenu.CloseMenu()}var g=c.which||c.button;if(a&&g==1){c.cancelBubble=true;b.centeringTrigger=true;var e=originX+offsetX+Math.round(GetMapWidth()/2),f=originY+offsetY+Math.round(GetMapHeight()/2),d=currentMode.PixelToLatLong(new VEPixel(e,f),currentView.zoomLevel);SetCenter(d.latitude,d.longitude)}}}function GetTrafficAvailability(){return trafficAvailable}function GetSlidingExpirationForAutoRefresh(){return 1800000}function GetAutoRefreshRate(){return 300000}function GetMarketsFile(){return Msn.VE.API?Msn.VE.API.Constants.trafficmarketsserver:"%0t0.tiles.virtualearth.net/incidents/markets.js"}function GetIncidentsFile(){return Msn.VE.API?Msn.VE.API.Constants.trafficincidentsserver:"%0t0.tiles.virtualearth.net/incidents/market-%1.js"}var setTrafficViewflag=true;function SetTrafficView(){var a=new VETileSourceSpecification;a.ID=trafficTiles;a.SourceName=Msn.VE.API?Msn.VE.API.Constants.traffictileserver:"%0t%2.tiles.virtualearth.net/tiles/t%4";var b="?";if(a.SourceName.match(/\?/)){b="&"}a.SourceName=a.SourceName+b+"tc="+Math.floor((new Date).getTime()/(GetAutoRefreshRate()*0.8));a.NumServers=2;tileLayerManager.AddTileSource(a);var c=typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null;tileLayerManager.LoadTileLayer("Traffic",a.ID,0.6,c?2:3)}function VETileLayerManager(){var d=[],b=[],a=[],c={},e={},g={},k=null,i=true,h=17;this.AddTileSource=function(a){d[a.ID]=a;if(g[a.ID]){this.SetClientToken(a.ID,g[a.ID])}};this.Add3DTileSource=function(e,c,h){if(trafficTiles==e){return }if(1==b[e].zIndex){return }if(typeof b[e].IsVisible!="undefined"&&b[e].IsVisible==false){return }var g=c.MaxZoom==1?21:c.MaxZoom,a='ID="'+c.ID+'" TILESOURCE="'+c.SourceName+'" MINZOOM="'+c.MinZoom+'" MAXZOOM="'+g+'"',d=c.Bounds;if(typeof d!="undefined"&&d!=null){a=a+' Bounds="';for(var f=0;f<d.length;f++){if(f>0){a=a+","}a=a+d[f].TopLeftLatLong.Longitude+","+d[f].BottomRightLatLong.Latitude+","+d[f].BottomRightLatLong.Longitude+","+d[f].TopLeftLatLong.Latitude}a=a+'"'}h.AddImageSource(e,c.ID,a,b[e].zIndex,b[e].opacity)};this.Remove3DTileSource=function(b,a,c){c.RemoveImageSource(b,a.ID)};this.AddAllTileSourcesTo3D=function(d){if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){for(var c=0;c<a.length;c++){this.Add3DTileSource(a[c],b[a[c]],d)}}};this.AddMapServiceLayersTo3D=function(f){for(var d=0;d<a.length;d++){var e=a[d],c=b[e];if(c!=null&&c.ID.indexOf("VE_MapServiceLayer")==1){tileLayerManager.Add3DTileSource(e,c,f)}}};this.DeleteMapServiceLayersFrom3D=function(f,e){for(var c=0;c<e.length;c++){var d=e[c],a=b[d];if(a!=null&&a.ID.indexOf("VE_MapServiceLayer")==1){f.RemoveImageSource(d,a.ID)}}};this.LoadBaseLayer=function(c,e,f,g){if(b[c]==null||typeof b[c]=="undefined"){a.push(c)}b[c]=d[e];b[c].opacity=f;b[c].zIndex=g};this.HideBaseTileLayer=function(){this.SetTileLayerVisibility(mapTiles,false);this.RefreshTileLayer(mapTiles)};this.ShowBaseTileLayer=function(){this.SetTileLayerVisibility(mapTiles,true);this.RefreshTileLayer(mapTiles)};this.SetTileLayerVisibility=function(c,a){if(b[c]!=null&&typeof a!="undefined"){b[c].IsVisible=a}};this.LoadTileLayer=function(g,h,m,n){if(!i){return }if(b[g]==null||typeof b[g]=="undefined"){a.push(g)}b[g]=d[h];if(c[g]){ClearTiles(c[g]);if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){var j=f();if(typeof j!="undefined"&&j!=null){tileLayerManager.Remove3DTileSource(g,d[h],j)}}}if(typeof b[g].IsVisible!="undefined"&&b[g].IsVisible==false){return }c[g]=[];e[g]=[];if(m!=null&&m!="undefined"){b[g].opacity=m}else{b[g].opacity=1}if(n!=null&&n!="undefined"){b[g].zIndex=n}else{b[g].zIndex=1}var k=false;if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){var j=f();if(typeof j!="undefined"&&j!=null){tileLayerManager.Add3DTileSource(g,d[h],j)}}var l=d[h].MaxZoom;if(l==1){l=d[mapTiles].MaxZoom}if(currentView.zoomLevel>=d[h].MinZoom&&currentView.zoomLevel<=l){if(d[h].Bounds!="undefined"&&d[h].Bounds!=null){k=tileLayerManager.CheckTilesAvailability(h,g)}else{k=true}}if(k&&b[g].LoadTiles){b[g].isActive=true;for(var p=tileViewportY1;p<=tileViewportY2;p++){for(var o=tileViewportX1;o<=tileViewportX2;o++){var q=RequestTile(o,p,currentView.zoomLevel,currentView.mapStyle,b[g],h,b[g].opacity,b[g].zIndex);c[g].push(q)}}}};this.SetViewPort=function(){map.style.top="0px";map.style.left="0px";originX=MathRound(currentView.center.x-width/2);originY=MathRound(currentView.center.y-height/2);offsetX=0;offsetY=0;var a=this.CalculateTileViewPort(true,originX,originY,originX+width,originY+height);tileViewportX1=a[0];tileViewportY1=a[1];tileViewportX2=a[2];tileViewportY2=a[3];tileViewportWidth=a[4];tileViewportHeight=a[5];Fire("onmapoffsetreset")};this.CalculateTileViewPort=function(f,b,d,c,e){var a=[];b=(b-buffer)/tileSize;d=(d-buffer)/tileSize;c=(c+buffer)/tileSize;e=(e+buffer)/tileSize;if(f){b=MathFloor(b);d=MathFloor(d);c=MathFloor(c);e=MathFloor(e)}a[0]=b;a[1]=d;a[2]=c;a[3]=e;a[4]=a[2]-a[0]+1;a[5]=a[3]-a[1]+1;return a};this.GetViewPort=function(){var a=[];a[0]=tileViewportX1;a[1]=tileViewportY1;a[2]=tileViewportX2;a[3]=tileViewportY2;a[4]=tileViewportWidth;a[5]=tileViewportHeight;return a};this.FinalizeView=function(){zooming=false;for(var b=0;b<a.length;b++){if(e[a[b]]){ClearTiles(e[a[b]]);e[a[b]]=null}for(var d=0;d<c[a[b]].length;d++){var f=c[a[b]];f[d].SwapStates();f[d].ClearSteps();f[d].SetFactor(0);f[d].ClearStates()}}for(var b=0;b<pushpins.length;b++){pushpins[b].SwapStates();pushpins[b].ClearSteps();pushpins[b].SetFactor(0)}if(copyright){copyright.Update()}if(previousMapStyle!=currentView.mapStyle){Fire("onchangemapstyle");previousMapStyle=currentView.mapStyle}if(previousZoomLevel!=currentView.zoomLevel){Fire("onendzoom")}Fire("onchangeview");try{CollectGarbage()}catch(g){}};this.CheckLayerUpdatability=function(d){var e=false;if(typeof b[a[d]].LoadTiles=="undefined"||b[a[d]].LoadTiles!=false){if(b[a[d]].isActive==false){this.RefreshTileLayer(b[a[d]].ID)}if(d>=0){e=b[a[d]].ID==mapTiles||c[a[d]].length>0}}return e};this.PanView=function(){if(!i){return }if(zooming){return }var h=originX+offsetX,j=originY+offsetY,k=MathFloor((h-buffer)/tileSize),m=MathFloor((j-buffer)/tileSize),l=MathFloor((h+width+buffer)/tileSize),n=MathFloor((j+height+buffer)/tileSize);while(tileViewportX1<k){for(var e=tileViewportHeight-1;e>=0;e--){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=c[a[d]].splice(e*tileViewportWidth,1)[0];try{g.RemoveFromMap()}catch(o){}}}}tileViewportX1++;tileViewportWidth--}while(tileViewportX1>k){tileViewportX1--;tileViewportWidth++;for(var e=0;e<tileViewportHeight;e++){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=RequestTile(tileViewportX1,tileViewportY1+e,currentView.zoomLevel,currentView.mapStyle,b[a[d]],a[d],b[a[d]].opacity,b[a[d]].zIndex);c[a[d]].splice(e*tileViewportWidth,0,g)}}}}while(tileViewportY1<m){for(var f=0;f<tileViewportWidth;f++){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=c[a[d]].shift();try{g.RemoveFromMap()}catch(o){}}}}tileViewportY1++;tileViewportHeight--}while(tileViewportY1>m){tileViewportY1--;tileViewportHeight++;for(var f=tileViewportWidth-1;f>=0;f--){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=RequestTile(tileViewportX1+f,tileViewportY1,currentView.zoomLevel,currentView.mapStyle,b[a[d]],a[d],b[a[d]].opacity,b[a[d]].zIndex);c[a[d]].unshift(g)}}}}while(tileViewportX2>l){for(var e=tileViewportHeight-1;e>=0;e--){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=c[a[d]].splice(e*tileViewportWidth+tileViewportWidth-1,1)[0];try{g.RemoveFromMap()}catch(o){}}}}tileViewportX2--;tileViewportWidth--}while(tileViewportX2<l){tileViewportX2++;tileViewportWidth++;for(var e=0;e<tileViewportHeight;e++){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=RequestTile(tileViewportX2,tileViewportY1+e,currentView.zoomLevel,currentView.mapStyle,b[a[d]],a[d],b[a[d]].opacity,b[a[d]].zIndex);c[a[d]].splice(e*tileViewportWidth+tileViewportWidth-1,0,g)}}}}while(tileViewportY2>n){for(var f=0;f<tileViewportWidth;f++){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=c[a[d]].pop();try{g.RemoveFromMap()}catch(o){}}}}tileViewportY2--;tileViewportHeight--}while(tileViewportY2<n){tileViewportY2++;tileViewportHeight++;for(var f=0;f<tileViewportWidth;f++){for(var d=0;d<a.length;d++){if(tileLayerManager.CheckLayerUpdatability(d)){var g=RequestTile(tileViewportX1+f,tileViewportY2,currentView.zoomLevel,currentView.mapStyle,b[a[d]],a[d],b[a[d]].opacity,b[a[d]].zIndex);c[a[d]].push(g)}}}}};this.StepAnimation=j;this.zoomView=function(g){if(!i){return }var l=originX+offsetX,m=originY+offsetY,o=currentView.zoomLevel,k=g.zoomLevel,h=MathRound(g.center.x-width/2),j=MathRound(g.center.y-height/2);e[mapTiles]=c[mapTiles];for(var d=0;d<a.length;d++){if(b[a[d]].ID==mapTiles){c[a[d]]=[]}else{ClearTiles(c[a[d]])}}for(var f=0;f<e[mapTiles].length;f++){e[mapTiles][f].PrepareBaseTile(l,m,o,h,j,k)}for(var d=0;d<pushpins.length;d++){pushpins[d].PrepareForZoom(h,j,k)}currentView.Destroy();currentView=g;var n=[];n=e[mapTiles];this.SetViewPort();this.RefreshTileLayers();e[mapTiles]=n;for(var f=0;f<c[mapTiles].length;f++){c[mapTiles][f].PrepareSwapTile(l,m,o,h,j,k)}zoomCounter=1;this.StepAnimation()};function j(){if(!zooming){return }for(var a=0;a<e[mapTiles].length;a++){e[mapTiles][a].SetFactor(zoomCounter)}for(var a=0;a<c[mapTiles].length;a++){c[mapTiles][a].SetFactor(zoomCounter)}for(var b=0;b<pushpins.length;b++){pushpins[b].SetFactor(zoomCounter)}if(zoomCounter<zoomTotalSteps){zoomCounter++;window.setTimeout(j,1)}else{zoomCounter=0;tileLayerManager.FinalizeView()}}this.ClearTileLayers=function(){for(var d=0;d<a.length;d++){ClearTiles(c[a[d]]);b[a[d]]=null;delete b[a[d]];a[d]=null}a.length=0};function f(){if(typeof Msn.VE.API.Globals.vemapinstances=="undefined"||Msn.VE.API.Globals.vemapinstances==null){return null}var b=0;for(var a in Msn.VE.API.Globals.vemapinstances){if(Msn.VE.API.Globals.vemapinstances[a] instanceof VEMap&&Msn.VE.API.Globals.vemapinstances[a].vemapcontrol&&Msn.VE.API.Globals.vemapinstances[a].GetMapMode()==VEMapMode.Mode3D){return Msn.VE.API.Globals.vemapinstances[a].vemapcontrol.Get3DControl()}}return null}this.ClearTileLayer=function(d){if(b[d]!=null&&b[d]!="undefined"){if(typeof Msn.VE.API!="undefined"&&Msn.VE.API!=null){var g=f();if(typeof g!="undefined"&&g!=null){g.RemoveImageSource(d,b[d].ID)}}ClearTiles(c[d]);b[d]=null;delete b[d]}for(var e=0;e<a.length;e++){if(a[e]==d){a[e]=null;a.splice(e,1)}}};this.RefreshTileLayers=function(){if(a!=null){for(var c=0;c<a.length;c++){this.LoadTileLayer(a[c],b[a[c]].ID,b[a[c]].opacity,b[a[c]].zIndex)}}};this.RefreshTileLayer=function(a){this.LoadTileLayer(a,b[a].ID,b[a].opacity,b[a].zIndex)};this.SetTileSource=function(a){var b=new VETileSourceSpecification;b.ID=a.ID;b.SourceName=a.TileSource;b.NumServers=a.NumServers;b.Bounds=a.Bounds;if(typeof a.MinZoomLevel!="undefined"&&a.MinZoomLevel!=null){b.MinZoom=a.MinZoomLevel}if(typeof a.MaxZoomLevel!="undefined"&&a.MaxZoomLevel!=null){b.MaxZoom=a.MaxZoomLevel;if(b.MaxZoom>h){h=b.MaxZoom}}if(a.GetTilePath!="undefined"&&a.GetTilePath!=null){b.GetTilePath=a.GetTilePath}tileLayerManager.AddTileSource(b)};this.DeleteTileSource=function(f){if(d[f]!=null&&d[f]!="undefined"){d[f]=null;delete d[f]}if(a!=null){for(var e=0;e<a.length;e++){if(b[a[e]]!=null&&b[a[e]]!="undefined"&&b[a[e]].ID==f){ClearTiles(c[a[e]]);b[a[e]]=null;delete b[a[e]];a[e]=null;a.splice(e,1)}}}};this.CheckTilesAvailability=function(g,n){if(typeof d[g].LoadTiles!="undefined"&&d[g].LoadTiles==false){return false}var k=PixelToLatLong(new VEPixel(0,0)),j=PixelToLatLong(new VEPixel(width,height));if(k==null||j==null){return }var a=k.latitude,c=j.longitude,e=j.latitude,f=k.longitude;if(a<e){var i=a;a=e;e=i}if(c<f){var i=c;c=f;f=i}var l=new Msn.VE.LatLongRectangle(new Msn.VE.LatLong(a,f),new Msn.VE.LatLong(e,c)),o=d[g].Bounds.length;for(var h=0;h<o;h++){a=d[g].Bounds[h].TopLeftLatLong.Latitude;c=d[g].Bounds[h].BottomRightLatLong.Longitude;e=d[g].Bounds[h].BottomRightLatLong.Latitude;f=d[g].Bounds[h].TopLeftLatLong.Longitude;if(a<e){var i=a;a=e;e=i}if(c<f){var i=c;c=f;f=i}var m=new Msn.VE.LatLongRectangle(new Msn.VE.LatLong(a,f),new Msn.VE.LatLong(e,c));if(tileLayerManager.BBOverlap(l,m)){return true}}b[n].isActive=false;return false};this.BBOverlap=function(a,b){return this.RectInBoundingBox(b,a)};this.RectInBoundingBox=function(a,b){return !(a.southeast.latitude>b.northwest.latitude||a.southeast.longitude<b.northwest.longitude||a.northwest.latitude<b.southeast.latitude||a.northwest.longitude>b.southeast.longitude)};this.ShowTrafficLegend=function(a){k=a;Fire("onapitrafficdisplay")};this.HideTrafficLegend=function(){Fire("onapitraffichide")};this.GetTimeStamp=function(){return k};this.GetMaxTileZoom=function(){return h};this.SetMarketMaxZoom=function(a){marketMaxZoom=a;d[mapTiles].MaxZoom=a};this.SetClientToken=function(a,b){g[a]=b;if(d[a]){d[a].SetClientToken(b)}};this.SetPrintable=function(f){if(f){for(var b=0;b<a.length;b++){var e=c[a[b]].length;for(var d=0;d<e;d++){c[a[b]][d].AddPrintTile()}}}else{for(var b=0;b<a.length;b++){var e=c[a[b]].length;for(var d=0;d<e;d++){c[a[b]][d].RemovePrintTile()}}}};this.RePositionPrintTiles=function(){for(var b=0;b<a.length;b++){var e=c[a[b]].length;for(var d=0;d<e;d++){c[a[b]][d].RePositionPrintTile()}}}}function VETileSourceSpecification(){this.Subdomains=null;this.SubdomainsMaxX=1;this.SubdomainsMaxY=1;this.ID="";this.SourceName="";this.OriginalName=null;this.OriginSourceName="";this.NumServers=0;this.Bounds=null;this.MinZoom=minZoom;this.MaxZoom=1;this.IsVisible=true;this.LoadTiles=true;this.GetTilePath=function(a){try{if(a!=null&&a!="undefined"){var e="",c=0;for(var b=a.ZoomLevel;b>0;b--){c=0;var d=1<<b-1;if((a.XPos&d)!=0){c++}if((a.YPos&d)!=0){c+=2}e+=c+""}var b;if(this.Subdomains==null){b=c%this.NumServers}else{b=this.Subdomains[a.XPos%this.SubdomainsMaxX][a.YPos%this.SubdomainsMaxY]}return this.SourceName.replace(/%1/g,a.MapStyle).replace(/%2/g,b).replace(/%3/g,a.MapStyle).replace(/%4/g,e).replace(/%5/g,a.MapStyle==roadStyle?"png":"jpeg").replace(/%6/g,generations[a.MapStyle])}else{return""}}catch(f){}};this.SetClientToken=function(c){if(!this.OriginalName){this.OriginalName=this.SourceName}var a=this.OriginalName;if(c&&this.OriginSourceName){a=this.OriginSourceName;var b;if(a.indexOf("?")>=0){b="&"}else{b="?"}a=a.concat(b,Msn.VE.API.Constants.clienttoken,"=",c)}else{this.OriginalName=null}this.SourceName=a}}function VETileLayerSpecification(){this.ID="";this.ZIndex=0;this.Opacity=1}function VETileContext(){this.XPos=0;this.YPos=0;this.ZoomLevel=0;this.MapStyle=""}VEAuthenticationCode=function(){};VEAuthenticationCode.None=0;VEAuthenticationCode.NoToken=1;VEAuthenticationCode.TokenValid=2;VEAuthenticationCode.TokenInvalid=3;VEAuthenticationCode.TokenExpired=4;VEAuthenticationCode.TokenIPInvalid=5;VEAuthenticationCode.TokenExpiredAndIPInvalid=6;VEAuthenticationCode.TokenValidButNotAuthorized=7;this.__HandleAuthentication=function(a){if(a&&a.ResponseSummary&&a.ResponseSummary.AuthResultCode){var b=a.ResponseSummary.AuthResultCode;switch(b){case VEAuthenticationCode.TokenExpired:case VEAuthenticationCode.TokenExpiredAndIPInvalid:this.Fire("ontokenexpire");break;case VEAuthenticationCode.TokenInvalid:case VEAuthenticationCode.TokenIPInvalid:case VEAuthenticationCode.TokenValidButNotAuthorized:this.Fire("ontokenerror")}}};this.SetCenter=SetCenter;this.SetCenterAccurate=SetCenterAccurate;this.SetMapStyle=SetMapStyle;this.SetScaleBarDistanceUnit=SetScaleBarDistanceUnit;this.SetScaleBarVisibility=SetScaleBarVisibility;this.OnView3DScaleBarPositionUpdate=OnView3DScaleBarPositionUpdate;this.GetCenterLatitude=GetCenterLatitude;this.GetCenterLongitude=GetCenterLongitude;this.GetLatitude=GetLatitude;this.GetLongitude=GetLongitude;this.GetY=GetY;this.GetX=GetX;this.LatLongToPixel=LatLongToPixel;this.LatLongToPixelAsync=LatLongToPixelAsync;this.PixelToLatLong=PixelToLatLong;this.PixelToLatLongAsync=PixelToLatLongAsync;this.GetZoomLevel=GetZoomLevel;this.GetMapStyle=GetMapStyle;this.GetMapMode=GetMapMode;this.GetMode=GetMode;this.GetAltitude=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?GetAltitude:function(){NotSupportedMethod("VEMapControl","GetAltitude")};this.GetDirection=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?GetDirection:function(){NotSupportedMethod("VEMapControl","GetDirection")};this.GetTilt=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?GetTilt:function(){NotSupportedMethod("VEMapControl","GetTilt")};this.GetMetersPerPixel=GetMetersPerPixel;this.Fill=Fill;this.Resize=Resize;this.PanMap=PanMap;this.ContinuousPan=ContinuousPan;this.StopContinuousPan=StopContinuousPan;this.StopKeyboardPan=StopKeyboardPan;this.PanToLatLong=PanToLatLong;this.PanByPixel=PanByPixel;this.GetPushpins=GetPushpins;this.AddPushpin=AddPushpin;this.RemovePushpin=RemovePushpin;this.ClearPushpins=ClearPushpins;this.GetPushpinMapPixel=GetPushpinMapPixel;this.SetViewport=SetViewport;this.SetBestMapView=SetBestMapView;this.ClipLatitude=ClipLatitude;this.ClipLongitude=ClipLongitude;this.GetBestMapViewBounds=GetBestMapViewBounds;this.IncludePointInViewport=IncludePointInViewport;this.SetZoom=SetZoom;this.SetTilt=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?SetTilt:function(){NotSupportedMethod("VEMapControl","SetTilt")};this.SetDirection=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?SetDirection:function(){NotSupportedMethod("VEMapControl","SetDirection")};this.SetAltitude=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?SetAltitude:function(){NotSupportedMethod("VEMapControl","SetAltitude")};this.ZoomIn=ZoomIn;this.ZoomOut=ZoomOut;this.SetCenterAndZoom=SetCenterAndZoom;this.AddLine=AddLine;this.RemoveLine=RemoveLine;this.ClearLines=ClearLines;this.AttachEvent=AttachEvent;this.DetachEvent=DetachEvent;this.AttachCustomEvent=AttachCustomEvent;this.DetachCustomEvent=DetachCustomEvent;this.FireCustomEvent=FireCustomEvent;this.DisposeAllCustomEvent=DisposeAllCustomEvent();this.CreateEvent=CreateEvent;this.Fire=Fire;this.IsObliqueAvailable=IsObliqueAvailable;this.GetObliqueScene=GetObliqueScene;this.SetAnimationEnabled=SetAnimationEnabled;this.IsAnimationEnabled=IsAnimationEnabled;this.SetObliqueScene=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)?SetObliqueScene:function(){NotSupportedMethod("VEMapControl","SetObliqueScene")};this.SetObliqueLocation=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)?SetObliqueLocation:function(){NotSupportedMethod("VEMapControl","SetObliqueLocation")};this.SetObliqueOrientation=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)?SetObliqueOrientation:function(){NotSupportedMethod("VEMapControl","SetObliqueOrientation")};this.SetView=SetView;this.Debug=Debug;this.GetResponseRangeCounts=GetResponseRangeCounts;this.ResetResponseRangeCounts=ResetResponseRangeCounts;this.GetFailureRate=GetFailureRate;this.SetTrafficView=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?SetTrafficView:function(){NotSupportedMethod("VEMapControl","SetTrafficView")};this.GetTrafficAvailability=GetTrafficAvailability;this.GetMarketsFile=GetMarketsFile;this.GetIncidentsFile=GetIncidentsFile;this.GetSlidingExpirationForAutoRefresh=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?GetSlidingExpirationForAutoRefresh:function(){NotSupportedMethod("VEMapControl","GetSlidingExpirationForAutoRefresh")};this.GetAutoRefreshRate=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?GetAutoRefreshRate:function(){NotSupportedMethod("VEMapControl","GetAutoRefreshRate")};this.GetMapLegend=GetMapLegend;this.SetFocus=SetFocus;this.GetCurrentMode=GetCurrentMode;this.GetObliqueMode=GetObliqueMode;this.GetOrthoMode=GetOrthoMode;this.GetMapWidth=GetMapWidth;this.GetMapHeight=GetMapHeight;this.GetCurrentMapView=GetCurrentMapView;this.SetBaseTileSource=SetBaseTileSource;this.SetTileSource=tileLayerManager.SetTileSource;this.SetTileLayerVisibility=tileLayerManager.SetTileLayerVisibility;this.AddMapServiceLayersTo3D=tileLayerManager.AddMapServiceLayersTo3D;this.DeleteMapServiceLayersFrom3D=tileLayerManager.DeleteMapServiceLayersFrom3D;this.LoadTileLayer=tileLayerManager.LoadTileLayer;this.ClearTileLayer=tileLayerManager.ClearTileLayer;this.ClearTileLayers=tileLayerManager.ClearTileLayers;this.DeleteTileSource=tileLayerManager.DeleteTileSource;this.HideBaseTileLayer=tileLayerManager.HideBaseTileLayer;this.ShowBaseTileLayer=tileLayerManager.ShowBaseTileLayer;this.RefreshTileLayer=tileLayerManager.RefreshTileLayer;this.RefreshTileLayers=tileLayerManager.RefreshTileLayers;this.ShowTrafficLegend=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?tileLayerManager.ShowTrafficLegend:function(){NotSupportedMethod("VEMapControl","ShowTrafficLegend")};this.HideTrafficLegend=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?tileLayerManager.HideTrafficLegend:function(){NotSupportedMethod("VEMapControl","HideTrafficLegend")};this.GetTimeStamp=$MVEM.IsEnabled(MapControl.Features.Traffic.Enabled)?tileLayerManager.GetTimeStamp:function(){NotSupportedMethod("VEMapControl","GetTimeStamp")};this.GetMaxTileZoom=tileLayerManager.GetMaxTileZoom;this.PanView=tileLayerManager.PanView;this.LoadBaseLayer=tileLayerManager.LoadBaseLayer;this.GetCurrentViewMaxZoomLevel=GetCurrentViewMaxZoomLevel;this.SetTilePixelBuffer=SetTilePixelBuffer;this.SetClientToken=SetClientToken;this.SetMapHeight=SetMapHeight;this.GetMapSurface=GetMapSurface;this.EnableMode=EnableMode;this._Enable3DMode=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?_Enable3DMode:function(){NotSupportedMethod("VEMapControl","_Enable3DMode")};this._Disable3DMode=_Disable3DMode;this.ControlReady=ControlReady;this.Get3DVisibleArea=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?Get3DVisibleArea:function(){NotSupportedMethod("VEMapControl","Get3DVisibleArea")};this.Get3DControl=Get3DControl;this.IsModeEnabled=IsModeEnabled;this.Sync3dView=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?Sync3dView:function(){NotSupportedMethod("VEMapControl","Sync3dView")};this.OnBeginCameraUpdate=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?OnBeginCameraUpdate:function(){NotSupportedMethod("VEMapControl","OnBeginCameraUpdate")};this.OnEndCameraUpdate=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?OnEndCameraUpdate:function(){NotSupportedMethod("VEMapControl","OnEndCameraUpdate")};this.IsCameraFlying=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?IsCameraFlying:function(){NotSupportedMethod("VEMapControl","IsCameraFlying")};this.Show3DTraffic=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?Show3DTraffic:function(){NotSupportedMethod("VEMapControl","Show3DTraffic")};this.Remove3DTraffic=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?Remove3DTraffic:function(){NotSupportedMethod("VEMapControl","Remove3DTraffic")};this.Show3DBirdseye=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?Show3DBirdseye:function(){NotSupportedMethod("VEMapControl","Show3DBirdseye")};this.IterativeCameraRefinement=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?IterativeCameraRefinement:function(){NotSupportedMethod("VEMapControl","IterativeCameraRefinement")};this.SetChildDiv=SetChildDiv;this.EnableGeoCommunity=EnableGeoCommunity;this.IsGeoCommunityEnabled=IsGeoCommunityEnabled;this.HijackMouseCursor=HijackMouseCursor;this.IsHijackMouseCursor=IsHijackMouseCursor;this.GetOffsetX=GetOffsetX;this.GetOriginY=GetOriginY;this.GetOriginX=GetOriginX;this.GetOffsetY=GetOffsetY;this.GetCenterOffset=GetCenterOffset;this.SetCenterOffset=SetCenterOffset;this.UpdatePreferredView=UpdatePreferredView;this.GetGraphic=GetGraphic;this.GetCurrentTileViewPort=GetCurrentTileViewPort;this.CalculateTileViewPort=CalculateTileViewPort;this.CreateDashboard=CreateDashboard;this.GetLastViewChangeType=GetLastViewChangeType;this.SetOn3DAnimationInterruptedCallback=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?SetOn3DAnimationInterruptedCallback:function(){NotSupportedMethod("VEMapControl","SetOn3DAnimationInterruptedCallback")};this.GetOn3DAnimationInterruptedCallback=$MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)?GetOn3DAnimationInterruptedCallback:function(){NotSupportedMethod("VEMapControl","GetOn3DAnimationInterruptedCallback")};this.SetShowMapModeSwitch=SetShowMapModeSwitch;this.GetObliqueAvailability=GetObliqueAvailability;this.GetTopPx=GetTopPx;this.GetLeftPx=GetLeftPx;this.SetPrintable=SetPrintable;this.CreateMinimap=CreateMinimap;this.IsMapViewOblique=IsMapViewOblique;this.IsMapViewOrtho=IsMapViewOrtho;this.GetTileGeneration=GetTileGeneration;this.IsDragging=function(){return dragging};this.IsZooming=function(){return zooming}};function NotSupportedMethod(B,A){throw new VEException(B,"err_unsupport",L_UnsupportMethod_Text.replace("%1",A))}function NotSupportedClass(A){throw new VEException("","err_unsupport",L_UnsupportClass_Text.replace("%1",A))}Msn.VE.Bounds=function(D,C,B,F,A,E){this.z1=D;this.z2=C;this.x1=B;this.y1=F;this.x2=A;this.y2=E};Msn.VE.DashboardStates=new function(){this.MapMode=new function(){this.Flatland=1;this.View3D=2};this.MapView=new function(){this.Ortho=4;this.Oblique=8;this.StreetSide=16};this.MapStyle=new function(){this.Road=32;this.Shaded=64;this.Aerial=128;this.Hybrid=256}};VEMiniMapSize=function(){};VEMiniMapSize.Small="small";VEMiniMapSize.Large="large";VEMiniMapExpandState=function(){};VEMiniMapExpandState.Collapsed="collapsed";VEMiniMapExpandState.Expanded="expanded";VEMiniMapVersion=function(){};VEMiniMapVersion[5]="MSVE_Minimap_V5";VEMiniMapVersion[6]="MSVE_Minimap_V6";Msn.VE.Minimap=function(A4,Ar,Ac,Aw){var Aq=this,Ab=Msn.VE.Css,AF=Msn.VE.Css.Functions,Ak=Msn.VE.DashboardStates.MapMode.Flatland,Az=Msn.VE.DashboardStates.MapView.Ortho,AM=false,AL=null,Aa=false,Aj=false,AY=false,At=true,Ap=null,A1=A4,A2=null,A3=Ar,Av=[];Av[VEMiniMapSize.Small]="MSVE_smallMinimap";Av[VEMiniMapSize.Large]="MSVE_normalMinimap";var Ah=[];Ah[VEMiniMapSize.Small]=L_MinimapLargerToolTip_Text;Ah[VEMiniMapSize.Large]=L_MinimapSmallerToolTip_Text;var Am=[];Am[VEMiniMapSize.Small]=138.5;Am[VEMiniMapSize.Large]=180.5;if(Aw!=5&&Aw!=6){Aw=5}A1.className=VEMiniMapExpandState.Expanded+" "+Av[VEMiniMapSize.Small]+" "+VEMiniMapVersion[Aw];var Ao=document.createElement("div");Ao.id="MSVE_minimap_transparency";A1.appendChild(Ao);var Ay=document.createElement("div");Ay.id="MSVE_minimap_content";Ay.title=L_MinimapDragToolTip_Text;Ao.appendChild(Ay);var Au=document.createElement("span");Au.id="MSVE_minimap_glyph";Au.title=L_MinimapHideToolTip_Text;if(Ac!=false&&Msn.VE.Animation){this.rollInDirection=null;this.rollOutDirection=null;A1.appendChild(Au);AS(this,Aw)}var A0=null,An=false;A3.AttachEvent("onchangemapstyle",AD);var AW=document.createElement("div"),AX=document.createElement("div"),As=document.createElement("div");As.id="MSVE_minimap_style_wrapper";Ay.appendChild(As);switch(Aw){case 5:var Ax=document.createElement("div");Ax.id="MSVE_minimap_resize";Ax.attachEvent("onclick",AO);Ax.title=L_MinimapLargerToolTip_Text;pseudoHover(Ax);A1.appendChild(Ax);break;case 6:if($MVEM.IsEnabled(MapControl.Features.Minimap.ShowByDefault)){Au.title=L_MinimapHideToolTip_Text}else{Au.title=L_MinimapShowToolTip_Text}}function AE(){var C={};C.latitude=A3.GetCenterLatitude();C.longitude=A3.GetCenterLongitude();var B=A3.GetZoomLevel()-4;if(B<1){B=1}if(C.latitude==null||C.longitude==null){C.latitude=0;C.longitude=0;B=1}C.zoomlevel=B;C.mapstyle=Msn.VE.MapStyle.Road;C.showScaleBar=false;C.showMapLegend=false;C.showDashboard=false;C.showMinimap=false;C.hideCopyright=true;C.disableLogo=true;C.clientToken=AL;A2=new Msn.VE.MapControl(Ay,C);A2.Init();A2.SetMinimapMode();AT(AW,"MSVE_minimap_r_style_button","MSVE_minimap_style",L_MinimapRoad_Text,L_MinimapRoadToolTip_Text,AQ,$MVEM.IsEnabled(MapControl.Features.MapStyle.Road));AT(AX,"MSVE_minimap_h_style_button","MSVE_minimap_style",L_MinimapHybrid_Text,L_MinimapHybridToolTip_Text,AU,$MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid));AP();A2.AttachEvent("onendpan",AH);A2.AttachEvent("onclick",Ag);A3.AttachEvent("onendpan",AI);A3.AttachEvent("onobliquechange",AN);A3.AttachEvent("onendzoom",AK);A3.AttachEvent("onchangeview",AR);var A=A3.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)?Msn.VE.DashboardStates.MapMode.View3D:Msn.VE.DashboardStates.MapMode.Flatland;Az=Msn.VE.DashboardStates.MapView.Ortho;if(A3.IsMapViewOblique()){A2.SetZoom(14);Az=Msn.VE.DashboardStates.MapView.Oblique}A0=new Msn.VE.CameraRotator(A1,this,Ay);An=true;AG(A);Af();Al()}this.Init=AE;this.Destroy=function(){AV(AW,AQ);AV(AX,AU);AW=AX=null;if(A0){A0.Destroy();A0=null}A3.DetachEvent("onendpan",AI);A3.DetachEvent("onobliquechange",AN);A3.DetachEvent("onendzoom",AK);A3.DetachEvent("onchangeview",AR);if(A2){A2.DetachEvent("onendpan",AH);A2.DetachEvent("onclick",Ag);A2.Destroy();A2=null}switch(Aw){case 5:Ax.detachEvent("onclick",AO)}As=null;Ao=null;Ay=null;Au=null;Ax=null;Aq=null};this.IsInitialized=function(){return An};this.SetClientToken=function(A){AL=A;if(A2){A2.SetClientToken(A)}};function AG(A){Ak=A}this.SetMapMode=AG;function Af(){if(!AM&&typeof minimapRoller!="undefined"&&minimapRoller!=null&&Ak==Msn.VE.DashboardStates.MapMode.Flatland){if(Az==Msn.VE.DashboardStates.MapView.Oblique){if(!minimapRoller.isExpanded()){minimapRoller.rollOut(Aq.rollOutDirection)}}else{if(Az==Msn.VE.DashboardStates.MapView.Ortho){if(minimapRoller.isExpanded()&&!$MVEM.IsEnabled(MapControl.Features.Minimap.ShowByDefault)){minimapRoller.rollIn(Aq.rollInDirection)}}}}}this.SetRollerState=Af;this.ChangeOrientation=function(A){if(Ak==Msn.VE.DashboardStates.MapMode.Flatland){if(Az==Msn.VE.DashboardStates.MapView.Oblique){switch(A){case 0:case 360:A3.SetObliqueOrientation("East");break;case 270:A3.SetObliqueOrientation("South");break;case 90:A3.SetObliqueOrientation("North");break;case 180:A3.SetObliqueOrientation("West")}}}};this.SetKeepRollState=function(){AM=true};function Al(){if(Ak==Msn.VE.DashboardStates.MapMode.Flatland){if(Az==Msn.VE.DashboardStates.MapView.Oblique){var A=A3.GetObliqueScene();if(!A){return }var B=A.GetOrientation();A0.SetStyle("oblique");switch(B){case"North":A0.SetOrientation(90);break;case"South":A0.SetOrientation(270);break;case"East":A0.SetOrientation(0);break;case"West":A0.SetOrientation(180)}A0.Show()}else{if(Az==Msn.VE.DashboardStates.MapView.Ortho){A0.SetStyle("ortho");A0.Show()}else{A0.Hide()}}}else{A0.Hide()}}function AA(){Aj=true;A3.PanToLatLong(A2.GetCenterLatitude(),A2.GetCenterLongitude())}function Ae(){var B=A3.GetCenterLatitude(),A=A3.GetCenterLongitude();Aa=true;A2.PanToLatLong(B,A)}this.Hide=function(){A1.style.display="none"};this.Show=function(){A1.style.display="block"};this.SetPosition=function(B,A){A1.style.left=B+"px";A1.style.top=A+"px"};this.SetSize=function(A){var B=this.GetSize();if(A!=B){AF.removeClass(A1,Av[B]);AF.addClass(A1,Av[A]);Ax.title=Ah[A];if(A1.className.indexOf(VEMiniMapExpandState.Expanded)>=0){AY=true;A2.Resize(Am[A],Am[A])}}};this.GetSize=function(){return A1.className.indexOf(Av[VEMiniMapSize.Large])>-1?VEMiniMapSize.Large:VEMiniMapSize.Small};this.SetDoUpdates=function(A){At=A;if(At){AJ()}};this.GetContainer=function(){return A1};function AD(){var A=Az;Az=Msn.VE.DashboardStates.MapView.Ortho;if(A3.IsMapViewOblique()){Az=Msn.VE.DashboardStates.MapView.Oblique;if(!An){AE()}}if(An&&Az!=A){Af();Al()}}function AH(){if(AY){AY=false;return }if(!Aa){AA()}else{Aa=false}}function AO(){var A=Aq.GetSize()==VEMiniMapSize.Small?VEMiniMapSize.Large:VEMiniMapSize.Small;Aq.SetSize(A)}function AI(){if(!At){return }if(!Aj){Ap=Ai();Ae()}else{Aj=false}}function AR(){if(!At){return }var A=Ai();if(!A3.IsMapViewOblique()&&!A.Equals(Ap)){A2.SetView(A);Ap=null}}function AN(){if(!At){return }Ae();Al()}function AK(){if(!At){return }Ap=Ai();AJ()}function Ai(){var B=A2.GetCurrentMapView().MakeCopy(),A=A3.GetCurrentMapView();B.SetCenterLatLong(new Msn.VE.LatLong(A.latlong.latitude,A.latlong.longitude));var C=1;if(Msn.VE.MapStyle.IsViewOblique(A.style)){C=14}else{C=A.GetZoomLevel()-4}if(C<1){C=1}B.SetZoomLevel(C);B.Resolve(A2.GetCurrentMode(),A2.GetMapWidth(),A2.GetMapHeight());return B}function AJ(){var A=0;if(A3.IsMapViewOblique()){A=14}else{A=A3.GetZoomLevel()-4}if(A<1){A=1}if(A2.GetZoomLevel()==A){Ae();return }A2.SetCenterAndZoom(A3.GetCenterLatitude(),A3.GetCenterLongitude(),A)}function AT(B,C,F,D,E,G,A){B.innerText=D;B.id=C;B.title=E;if(typeof A=="undefined"||A==true){B.className=F;B.attachEvent("onclick",G);B.attachEvent("onmousedown",IgnoreEvent)}pseudoHover(B);As.appendChild(B)}function AV(B,A){B.detachEvent("onclick",A);B.detachEvent("onmousedown",IgnoreEvent)}function Ag(){Ay.title="";A2.DetachEvent("onclick",Ag)}function AQ(){AP()}function AU(){AC()}function AC(){As.className="MSVE_minimap_hybrid_style";A2.SetMapStyle("h")}function AP(){As.className="MSVE_minimap_road_style";A2.SetMapStyle("r")}function AZ(){return Aw}this.GetVersion=AZ;function AS(A,C){var D=Ar.IsMapViewOblique()||$MVEM.IsEnabled(MapControl.Features.Minimap.ShowByDefault),F,E,G=$ID("MSVE_minimap"),B=$ID("MSVE_minimap_glyph");if(!B||!G){return }switch(C){case 5:A.rollInDirection=Msn.VE.Animation.RollDirection.RightLeft;A.rollOutDirection=Msn.VE.Animation.RollDirection.LeftRight;F=8;E=0;break;case 6:A.rollInDirection=Msn.VE.Animation.RollDirection.LeftRight|Msn.VE.Animation.RollDirection.BottomUp;A.rollOutDirection=Msn.VE.Animation.RollDirection.RightLeft|Msn.VE.Animation.RollDirection.TopDown;F=B.offsetWidth+1;E=B.offsetHeight;break;default:return }window.minimapRoller=new Msn.VE.Animation.Roller(G);minimapRoller.setAccelerationFunction(AccelerationFunctions.CrazyElevator);minimapRoller.setXLeave(F);minimapRoller.setYLeave(E);pseudoHover(B);AB(G,minimapRoller,"MSVE_minimap_glyph");if(!D){minimapRoller.collapse(A.rollInDirection)}B.onclick=function(){var H=Ar.GetMinimap();H.SetKeepRollState();if(minimapRoller.isExpanded()){minimapRoller.rollIn(H.rollInDirection)}else{minimapRoller.rollOut(H.rollOutDirection)}};window.attachEvent("onunload",function(){B=G=null;window.detachEvent("onunload",arguments.callee)})}function AB(B,A,C){A.hookEvent("afterrollin",function(){var E=Msn.VE.Css.Functions,D=Ar.GetMinimap();E.removeClass(B,"expanded");E.addClass(B,"collapsed");if(D&&D.IsInitialized()){D.SetDoUpdates(false)}$ID(C).title=L_MinimapShowToolTip_Text});A.hookEvent("afterrollout",function(){var E=Msn.VE.Css.Functions,D=Ar.GetMinimap();E.removeClass(B,"collapsed");E.addClass(B,"expanded");if(D&&D.IsInitialized()){D.SetDoUpdates(true);Al()}$ID(C).title=L_MinimapHideToolTip_Text});A.hookEvent("beforerollout",function(){var D=Ar.GetMinimap();if(D&&!D.IsInitialized()){D.Init()}})}this.creatMinimapRoller=AS;Msn.VE.CameraRotator=function(H,E,K){var A=Msn.VE.Css,B=E,H=H,K=K,J=0,L="ortho",N=document.createElement("div");N.id="MSVE_cameraPosition";K.appendChild(N);M(90);function F(){N=null}function D(){N.style.display="none"}function C(){N.style.display="block"}function I(O){M(O)}function G(O){switch(O){case"oblique":L="MSVE_direction";M(90);break;case"ortho":L="MSVE_ortho";M(90);break;default:L="MSVE_ortho";M(90)}}function M(O){J=MathFloor((O+45+720)/90)%4;N.className=L+J}this.Hide=D;this.Show=C;this.Destroy=F;this.SetStyle=G;this.SetOrientation=I}};Msn.VE.DashboardSize=new function(){this.Normal="normal";this.Small="small";this.Tiny="tiny"};Msn.VE.NavControlFactory=function(C,A,G,H,E,B,D,F){if(typeof G=="undefined"||G==null){G=Msn.VE.DashboardSize.Normal}if(typeof H=="undefined"||H==null){H="MSVE_dashboardId"}if(!isFinite(parseInt(F))){F=6}var I;switch(F){case 5:I=new Msn.VE.V5Control(C,A,G,H,E,B,D);break;case 6:default:I=new Msn.VE.V6Control(C,A,G,H,E,B,D)}I.version=F;I.GetVersion=function(){return I.version};return I};Msn.VE.V5Control=function(F,AK,AD,S,I,W){Msn.VE.DashboardStates=new function(){this.MapMode=new function(){this.Flatland=1;this.View3D=2};this.MapView=new function(){this.Ortho=4;this.Oblique=8;this.StreetSide=16};this.MapStyle=new function(){this.Road=32;this.Shaded=64;this.Aerial=128;this.Hybrid=256}};var Q={Style:"MSVE_navAction_mapStyleCell",Road:"MSVE_navAction_RoadMapStyle",Aerial:"MSVE_navAction_AerialMapStyle",Hybrid:"MSVE_navAction_HybridMapStyle",Mode:"MSVE_navAction_modeCell",Mode2D:"MSVE_navAction_FlatlandMapMode",Mode3D:"MSVE_navAction_View3DMapMode",View:"MSVE_navAction_mapViewCellInner",Ortho:"MSVE_navAction_OrthoMapView",Oblique:"MSVE_navAction_ObliqueMapView",StreetSide:"MSVE_navAction_StreetSideMapView",ShowLabels:"MSVE_navAction_showLabels",Pan:"MSVE_navAction_panContainer",PanUp:"MSVE_navAction_panUp",PanDown:"MSVE_navAction_panDown",PanLeft:"MSVE_navAction_panLeft",PanRight:"MSVE_navAction_panRight",TinyZoom:"MSVE_TinyZoomBar",OrthoZoom:"MSVE_OrthoZoomBar",ObliqueZoom:"MSVE_ObliqueZoomBar",ObliqueCompass:"MSVE_compassDiv",ObliqueNotification:"MSVE_obliqueNotification",ThreeDUpdatedNotification:"MSVE_threeDUpdatedNotification",Traffic:"MSVE_navAction_traffic"},L="Nav Bar";Msn.VE.CommonControls=function(Aw,AZ){function Be(Br){var Bo=document.createElement("div"),Bp=document.createElement("div"),Bs=document.createElement("div"),Bq=document.createElement("div"),A=0,E=0,Bl=false;this.Init=function(){Bq.className="MSVE_ZoomBar_minus";Bq.id="MSVE_navAction_obliqueZoomBar_minus";Bq.unselectable="on";Bq.title=L_ZoomBarMinusToolTip_Text;Bq.attachEvent("onclick",Bb);pseudoHover(Bq);Bs.className="MSVE_ZoomBar_slider";Bs.id="MSVE_navAction_obliqueZoomBar_slider";Bs.unselectable="on";Bs.attachEvent("onmousedown",y);Bs.attachEvent("onmousemove",x);Bs.attachEvent("onmouseup",c);Bs.attachEvent("onclick",IgnoreEvent);pseudoHover(Bs);Bp.className="MSVE_ObliqueZoomBar_bar";Bp.unselectable="on";Bp.appendChild(Bs);Bp.attachEvent("onclick",G);Bo.className="MSVE_ZoomBar_plus";Bo.id="MSVE_navAction_obliqueZoomBar_plus";Bo.title=L_ZoomBarPlusToolTip_Text;Bo.unselectable="on";Bo.attachEvent("onclick",Ab);pseudoHover(Bo);Br.className="MSVE_ZoomBar";Br.id="MSVE_ObliqueZoomBar";Br.appendChild(Bq);Br.appendChild(Bp);Br.appendChild(Bo);Br.attachEvent("onmousedown",IgnoreEvent);Br.attachEvent("onmouseup",IgnoreEvent);Br.attachEvent("onclick",IgnoreEvent);Br.attachEvent("ondblclick",IgnoreEvent);Bm()};function B(){Br.style.display="block"}function C(){Br.style.display="none"}function G(b){b=GetEvent(b);CancelEvent(b);Bk();z(Bn(Gimme.Screen.getMousePosition(b).y));return false}function Bn(d){d-=E+Bq.offsetHeight+Bs.offsetHeight;var e=Bp.offsetHeight-Bs.offsetHeight;if(d<0){d=0}else{if(d>e){d=e}}return d}function Bb(){Aw.ZoomOut()}function Ab(){Aw.ZoomIn()}function D(){Bq.detachEvent("onclick",Bb);Bs.detachEvent("onmousedown",y);Bs.detachEvent("onmousemove",x);Bs.detachEvent("onmouseup",c);Bs.detachEvent("onclick",IgnoreEvent);Bp.detachEvent("onclick",G);Bo.detachEvent("onclick",Ab);Br.detachEvent("onmousedown",IgnoreEvent);Br.detachEvent("onmousedown",IgnoreEvent);Br.detachEvent("onclick",IgnoreEvent);Br.detachEvent("ondblclick",IgnoreEvent);Bq=Bs=Bp=Bo=null}function y(d){d=GetEvent(d);CancelEvent(d);Bk();if(Bs.setCapture){Bs.setCapture()}Bl=true;return false}function x(d){d=GetEvent(d);CancelEvent(d);if(Bl){Bs.style.top=Bn(Gimme.Screen.getMousePosition(d).y)+"px"}return false}function c(d){d=GetEvent(d);CancelEvent(d);if(Bs.releaseCapture){Bs.releaseCapture()}Bl=false;z(Bn(Gimme.Screen.getMousePosition(d).y));Bm();return false}function Bk(){var b=g(Br).getScreenPosition();A=b.x;E=b.y}function z(h){var e=Bp.offsetHeight-Bs.offsetHeight,j=1+MathRound((e-h)/e*1);Aw.SetZoom(j)}function Bm(){if(Aw.GetZoomLevel()==1){Bs.style.top=Bp.offsetHeight-Bs.offsetHeight+"px"}else{Bs.style.top="0px"}}this.Destroy=D;this.Show=B;this.Hide=C;this.UpdateFromMap=Bm}function BS(A,C,B){var B1=document.createElement("div");B1.setAttribute("id",A);B1.innerHTML=C;var Bz="MSVE_obliqueCompassPointOff",Bv=B;B1.attachEvent("onmouseover",Bw);B1.attachEvent("onmouseout",Bu);B1.attachEvent("onclick",Bt);this.onclick=null;this.onmouseover=null;this.onmouseout=null;var Bx=25,B0=this,By=false,Bs=new E(B1,17,17);function Bw(b){if(By){return }Bz=B1.className;B1.className="MSVE_obliqueCompassPointHover";if(B0.onmouseover){B0.onmouseover(b)}}function Bt(b){if(By){return }Bw(b);Bz="MSVE_obliqueCompassPointOn";if(B0.onclick){B0.onclick(b)}}function Bu(b){if(By){return }B1.className=Bz;if(B0.onmouseout){B0.onmouseout(b)}}function Bp(){Bz="MSVE_obliqueCompassPointOn";B1.className="MSVE_obliqueCompassPointOn"}function Bq(){Bz="MSVE_obliqueCompassPointOff";B1.className="MSVE_obliqueCompassPointOff"}function G(){By=true;Bq()}function Br(){By=false;Bp()}function Bl(){return B1}function Bo(){return Bv}function Bn(b){Bv=b}function D(){Bs.Reset();Br()}function Bm(c){B1.style.left=c.left;B1.style.top=c.top}function E(e,w,v){var B5=e,CA=0,B9=0.3,B8=0,y=40,z=Math.PI/2,B4=true,u=B9+0.1;function x(f,d,h){if(d>=h-f&&d<=h+f){return true}return false}function B3(){CA+=B9;if(CA>Math.PI*2){CA-=Math.PI*2}else{if(CA<0){CA+=Math.PI*2}}if(x(u,CA,B8)){B9=0.3;CA=B8;B7(CA);return }B7(CA);window.setTimeout(B3,y)}function B7(f){var d=w+Bx*Math.sin(f),h=v+Bx*Math.cos(f);B5.style.left=d+"px";B5.style.top=h+"px"}function B6(b){B8=b;B3()}function B2(b,d){B4=d;if(!B4){B9*=-1}B6(z*b)}function t(){CA=0}this.RotateTo=B6;this.RotateToIndex=B2;this.Reset=t}function Ab(){B1.detachEvent("onmouseover",Bw);B1.detachEvent("onmouseout",Bu);B1.detachEvent("onclick",Bt);B1=null}function Bb(b){Bx=b}function Bk(){return Bx}this.SetRadius=Bb;this.GetRadius=Bk;this.GetElement=Bl;this.GetCurrentPositionIndex=Bo;this.SetCurrentPositionIndex=Bn;this.SetCurrentPosition=Bm;this.On=Bp;this.Off=Bq;this.RotateToIndex=Bs.RotateToIndex;this.Reset=D;this.Disable=G;this.Enable=Br;this.Destroy=Ab}function s(Bt){var Bz=[];Bz.push({top:"-8px",left:"17px"});Bz.push({top:"17px",left:"42px"});Bz.push({top:"42px",left:"17px"});Bz.push({top:"17px",left:"-8px"});var B8=document.createElement("div");B8.setAttribute("id","MSVE_obliqueCompassContainer");B8.title=L_ObliqueCompassSelectDirection_Text;var CC=new BS("MSVE_obliqueCompassPointN","N",0),B5=CC.GetElement();B5.attachEvent("onclick",Bu);B5.attachEvent("onmouseover",Bp);B5.attachEvent("onmouseout",B6);var CA=new BS("MSVE_obliqueCompassPointE","E",1),B3=CA.GetElement();B3.attachEvent("onclick",Br);B3.attachEvent("onmouseover",Bb);B3.attachEvent("onmouseout",B6);var CB=new BS("MSVE_obliqueCompassPointS","S",2),B4=CB.GetElement();B4.attachEvent("onclick",Bs);B4.attachEvent("onmouseover",Bn);B4.attachEvent("onmouseout",B6);var B9=new BS("MSVE_obliqueCompassPointW","W",3),B2=B9.GetElement();B2.attachEvent("onclick",Bl);B2.attachEvent("onmouseover",c);B2.attachEvent("onmouseout",B6);var B1=document.createElement("div");B1.id="MSVE_navAction_obliqueCompassArrow";B8.appendChild(B5);B8.appendChild(B3);B8.appendChild(B4);B8.appendChild(B2);B8.appendChild(B1);Bt.appendChild(B8);Bv();function By(A){if(A<0){A=4-Math.abs(A)}return A}function B0(A,E,B){var e=A.GetCurrentPositionIndex(),G,d=[];d[CC.GetCurrentPositionIndex()]=L_North_Text;d[CB.GetCurrentPositionIndex()]=L_South_Text;d[CA.GetCurrentPositionIndex()]=L_East_Text;d[B9.GetCurrentPositionIndex()]=L_West_Text;if(E){G=E==Msn.VE.BirdsEyeSearchSpinDirection.CounterclockwiseSpin;if(e+E!=2){var b;switch(E){case -1:switch(e){case 0:case 2:b=[3];break;case 1:b=[3,2]}break;case 1:switch(e){case 0:case 2:b=[1];break;case 3:b=[1,2]}}if(b){var D=L_ObliqueSkippingOneDirection_Text;if(e==0){D=L_ObliqueNoImageryInRequestedDirection_Text}if(b.length==2){D=L_ObliqueSkippingTwoDirections_Text}if(typeof ShowMessage!="undefined"){ShowMessage(D.replace("%1",d[e]).replace("%2",d[b[0]]).replace("%3",d[b[1]]))}}}}else{G=e!=3;if(B){if(e==0){if(typeof ShowMessage!="undefined"){ShowMessage(L_ObliqueModeImageNotAvailable_Text)}}else{if(typeof ShowMessage!="undefined"){ShowMessage(L_ObliqueNoImageryInRequestedDirection_Text.replace("%1",d[e]).replace("%2",d[0]))}}}}CA.SetCurrentPositionIndex(By(CA.GetCurrentPositionIndex()-e));B9.SetCurrentPositionIndex(By(B9.GetCurrentPositionIndex()-e));CC.SetCurrentPositionIndex(By(CC.GetCurrentPositionIndex()-e));CB.SetCurrentPositionIndex(By(CB.GetCurrentPositionIndex()-e));CC.RotateToIndex(2-CC.GetCurrentPositionIndex()<0?CC.GetCurrentPositionIndex():2-CC.GetCurrentPositionIndex(),G);CA.RotateToIndex(2-CA.GetCurrentPositionIndex()<0?CA.GetCurrentPositionIndex():2-CA.GetCurrentPositionIndex(),G);CB.RotateToIndex(2-CB.GetCurrentPositionIndex()<0?CB.GetCurrentPositionIndex():2-CB.GetCurrentPositionIndex(),G);B9.RotateToIndex(2-B9.GetCurrentPositionIndex()<0?B9.GetCurrentPositionIndex():2-B9.GetCurrentPositionIndex(),G)}function B7(A){switch(A){case 0:B6();break;case 1:C();break;case 2:Bx();break;case 3:Bw()}}function B6(){B1.className="MSVE_obliqueCompassArrowU"}function Bx(){B1.className="MSVE_obliqueCompassArrowD"}function C(){B1.className="MSVE_obliqueCompassArrowR"}function Bw(){B1.className="MSVE_obliqueCompassArrowL"}function Bs(){if(Aw.GetDashboard()&&Aw.GetDashboard().SetLastRotationDirection){Aw.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}B0(CB);B7(0);var A=Aw.GetObliqueScene();if(A){if(A.GetOrientation()!=Msn.VE.Orientation.South){Aw.SetObliqueOrientation("South",null,true)}}}function Bu(){if(Aw.GetDashboard()&&Aw.GetDashboard().SetLastRotationDirection){Aw.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}B0(CC);B7(0);var A=Aw.GetObliqueScene();if(A){if(A.GetOrientation()!=Msn.VE.Orientation.North){Aw.SetObliqueOrientation("North",null,true)}}}function Br(){if(Aw.GetDashboard()&&Aw.GetDashboard().SetLastRotationDirection){Aw.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}B0(CA);B7(0);var A=Aw.GetObliqueScene();if(A){if(A.GetOrientation()!=Msn.VE.Orientation.East){Aw.SetObliqueOrientation("East",null,true)}}}function Bl(){if(Aw.GetDashboard()&&Aw.GetDashboard().SetLastRotationDirection){Aw.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}B0(B9);B7(0);var A=Aw.GetObliqueScene();if(A){if(A.GetOrientation()!=Msn.VE.Orientation.West){Aw.SetObliqueOrientation("West",null,true)}}}function Bn(){B7(CB.GetCurrentPositionIndex())}function Bb(){B7(CA.GetCurrentPositionIndex())}function c(){B7(B9.GetCurrentPositionIndex())}function Bp(){B7(CC.GetCurrentPositionIndex())}function Bk(){B8.style.display="none"}function Ab(){B8.style.display="block"}function Bv(A,B){var D=Aw.GetObliqueScene();if(!D){return }var G=D.GetOrientation(),E;switch(G){case"North":E=CC;break;case"South":E=CB;break;case"East":E=CA;break;case"West":E=B9}B0(E,A,B);B7(0);if(G!=Msn.VE.Orientation.North){CC.Enable()}else{CC.Disable()}if(G!=Msn.VE.Orientation.South){CB.Enable()}else{CB.Disable()}if(G!=Msn.VE.Orientation.East){CA.Enable()}else{CA.Disable()}if(G!=Msn.VE.Orientation.West){B9.Enable()}else{B9.Disable()}}function Bm(){CC.Destroy();CA.Destroy();CB.Destroy();B9.Destroy();B5.detachEvent("onclick",Bu);B5.detachEvent("onmouseover",Bp);B5.detachEvent("onmouseout",B6);B3.detachEvent("onclick",Br);B3.detachEvent("onmouseover",Bb);B3.detachEvent("onmouseout",B6);B4.detachEvent("onclick",Bs);B4.detachEvent("onmouseover",Bn);B4.detachEvent("onmouseout",B6);B2.detachEvent("onclick",Bl);B2.detachEvent("onmouseover",c);B2.detachEvent("onmouseout",B6);B8=null}function Bo(A){CC.SetRadius(A);CB.SetRadius(A);CA.SetRadius(A);B9.SetRadius(A)}function Bq(){return CC.GetRadius()}this.Hide=Bk;this.Show=Ab;this.UpdateFromMap=Bv;this.SetRadius=Bo;this.GetRadius=Bq;this.Destroy=Bm}function BZ(Bp){var Bm=document.createElement("div"),Bn=document.createElement("div"),Bq=document.createElement("div"),Bo=document.createElement("div"),A=0,D=0,Bb=false;this.Init=function(){Bo.className="MSVE_ZoomBar_minus";Bo.id="MSVE_navAction_orthoZoomBar_minus";Bo.title=L_ZoomBarMinusToolTip_Text;Bo.unselectable="on";Bo.attachEvent("onclick",z);pseudoHover(Bo);Bq.className="MSVE_ZoomBar_slider";Bq.id="MSVE_navAction_orthoZoomBar_slider";Bq.title=L_ZoomBarSliderToolTip_Text;Bq.unselectable="on";Bq.attachEvent("onmousedown",w);Bq.attachEvent("onmousemove",c);Bq.attachEvent("onmouseup",G);Bq.attachEvent("onclick",IgnoreEvent);pseudoHover(Bq);Bn.className="MSVE_OrthoZoomBar_bar";Bn.unselectable="on";Bn.appendChild(Bq);Bn.attachEvent("onclick",E);Bm.className="MSVE_ZoomBar_plus";Bm.id="MSVE_navAction_orthoZoomBar_plus";Bm.title=L_ZoomBarPlusToolTip_Text;Bm.unselectable="on";Bm.attachEvent("onclick",y);pseudoHover(Bm);Bp.className="MSVE_ZoomBar";Bp.id="MSVE_OrthoZoomBar";Bp.appendChild(Bo);Bp.appendChild(Bn);Bp.appendChild(Bm);Bp.attachEvent("onmousedown",IgnoreEvent);Bp.attachEvent("onmouseup",IgnoreEvent);Bp.attachEvent("onclick",IgnoreEvent);Bp.attachEvent("ondblclick",IgnoreEvent);Bk()};this.Destroy=function(){Bo.detachEvent("onclick",z);Bq.detachEvent("onmousedown",w);Bq.detachEvent("onmousemove",c);Bq.detachEvent("onmouseup",G);Bq.detachEvent("onclick",IgnoreEvent);Bn.detachEvent("onclick",E);Bm.detachEvent("onclick",y);Bp.detachEvent("onmousedown",IgnoreEvent);Bp.detachEvent("onmousedown",IgnoreEvent);Bp.detachEvent("onclick",IgnoreEvent);Bp.detachEvent("ondblclick",IgnoreEvent);Bo=Bq=Bn=Bm=null};function B(){Bp.style.display="block"}function C(){Bp.style.display="none"}function Ab(){var b=g(Bp).getScreenPosition();A=b.x;D=b.y}function w(d){d=GetEvent(d);CancelEvent(d);Ab();if(Bq.setCapture){Bq.setCapture()}Bb=true;return false}function c(d){d=GetEvent(d);CancelEvent(d);if(Bb){Bq.style.top=Bl(Gimme.Screen.getMousePosition(d).y)+"px"}return false}function G(d){d=GetEvent(d);CancelEvent(d);if(Bq.releaseCapture){Bq.releaseCapture()}Bb=false;x(Bl(Gimme.Screen.getMousePosition(d).y));Bk();return false}function y(){Aw.ZoomIn()}function z(){Aw.ZoomOut()}function E(b){b=GetEvent(b);CancelEvent(b);Ab();x(Bl(Gimme.Screen.getMousePosition(b).y));return false}function Bl(d){d-=D+Bo.offsetHeight+Bq.offsetHeight;var e=Bn.offsetHeight-Bq.offsetHeight;if(d<0){d=0}else{if(d>e){d=e}}return d}function x(h){var e=Bn.offsetHeight-Bq.offsetHeight,j=1+MathRound((e-h)/e*18);Aw.SetZoom(j)}function Bk(){var e=Bn.offsetHeight-Bq.offsetHeight,f=e-(Aw.GetZoomLevel()-1)/18*e;Bq.style.top=f+"px"}this.UpdateFromMap=Bk;this.Show=B;this.Hide=C}function AS(){var u=document.createElement("div"),v=document.createElement("div"),w=document.createElement("div"),Ab=false,y=v,z=w;this.maxZoomLevel=21;this.minZoomLevel=1;this.Init=function(){v.className="MSVE_ZoomBar_plus";v.id="MSVE_navAction_tinyZoomBar_plus";v.title=L_ZoomBarPlusToolTip_Text;v.unselectable="on";w.className="MSVE_ZoomBar_minus";w.id="MSVE_navAction_tinyZoomBar_minus";w.title=L_ZoomBarMinusToolTip_Text;w.unselectable="on";Aw.AttachEvent("onendzoom",t);u.className="MSVE_ZoomBar";u.id="MSVE_TinyZoomBar";u.appendChild(v);u.appendChild(w);return u};this.HookupPlusMinusEvents=function(d,e){E(d);r(e)};function E(b){if(b){y=b}y.attachEvent("onmousedown",C);y.attachEvent("onmouseup",x);y.attachEvent("onmouseout",x)}this.HookupPlusEvents=E;function r(b){if(b){z=b}z.attachEvent("onmousedown",G);z.attachEvent("onmouseup",x);z.attachEvent("onmouseout",x)}this.HookupMinusEvents=r;function D(){if(y!=null){y.detachEvent("onmousedown",C);y.detachEvent("onmouseup",x);y.detachEvent("onmouseout",x)}if(Ab=="in"){Ab=false}}this.UnhookPlusEvents=D;function c(){if(z!=null){z.detachEvent("onmousedown",G);z.detachEvent("onmouseup",x);z.detachEvent("onmouseout",x)}if(Ab=="out"){Ab=false}}this.UnhookMinusEvents=c;this.Destroy=function(){D();c();Aw.DetachEvent("onendzoom",t);v=w=y=z=null};function A(){if(Aw.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return true}else{return Aw.IsAnimationEnabled()}}function C(){Ab="in";Aw.ZoomIn()}function t(){window.setTimeout(B,A()?1:500)}function B(){if(Ab=="in"&&Aw.GetZoomLevel()<21){Aw.ZoomIn(false)}else{if(Ab=="out"&&Aw.GetZoomLevel()>1){Aw.ZoomOut(false)}}}function G(){Ab="out";Aw.ZoomOut()}function x(){Ab=false}this.GetPlus=function(){return v};this.GetMinus=function(){return w}}var Ay=Q,Ao=[];Ao[Ay.Style]={Id:Ay.Style,InitialClass:null,OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[Ay.Road,Ay.Aerial,Ay.Hybrid],Text:null};Ao[Ay.Road]={Id:Ay.Road,InitialClass:"MSVE_MapStyle",OnClickFunction:Bd,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:Ac,Enabled:MapControl.Features.MapStyle.Road,Title:L_NavActionRoadToolTip_Text,Children:null,Text:L_NavActionRoad_Text};Ao[Ay.Aerial]={Id:Ay.Aerial,InitialClass:"MSVE_MapStyle",OnClickFunction:Ba,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:Ac,Enabled:MapControl.Features.MapStyle.Aerial,Title:L_NavActionAerialToolTip_Text,Children:null,Text:L_NavActionAerial_Text};Ao[Ay.Hybrid]={Id:Ay.Hybrid,InitialClass:"MSVE_MapStyle",OnClickFunction:BO,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:Ac,Enabled:MapControl.Features.MapStyle.Hybrid,Title:L_NavActionHybridToolTip_Text,Children:null,Text:L_NavActionHybrid_Text};Ao[Ay.Mode]={Id:Ay.Mode,InitialClass:"MSVE_modeCell",OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[Ay.Mode2D,Ay.Mode3D],Text:null};Ao[Ay.Mode2D]={Id:Ay.Mode2D,InitialClass:"MSVE_MapMode",OnClickFunction:AM,StyleUpdateEvent:"oninitmode",StyleUpdateFunction:A0,Enabled:true,Title:L_NavActionFlatlandToolTip_Text,Children:null,Text:L_NavActionFlatland_Text};Ao[Ay.Mode3D]={Id:Ay.Mode3D,InitialClass:"MSVE_MapMode",OnClickFunction:AO,StyleUpdateEvent:"oninitmode",StyleUpdateFunction:A0,Enabled:MapControl.Features.MapStyle.View3D,Title:L_NavActionView3DToolTip_Text,Children:null,Text:L_NavActionView3D_Text};Ao[Ay.View]={Id:Ay.View,InitialClass:null,OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[Ay.Ortho,Ay.Oblique,Ay.StreetSide],Text:null};Ao[Ay.Ortho]={Id:Ay.Ortho,InitialClass:"MSVE_MapStyle",OnClickFunction:Aa,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:Ac,Enabled:true,Title:L_NavActionOrthoToolTip_Text,Children:null,Text:null};Ao[Ay.Oblique]={Id:Ay.Oblique,InitialClass:"MSVE_MapStyle",OnClickFunction:BM,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:Ac,Enabled:false,Title:L_NavActionObliqueToolTip_Text,Children:null,Text:null};Ao[Ay.StreetSide]={Id:Ay.StreetSide,InitialClass:"MSVE_MapStyle",OnClickFunction:BH,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:Ac,Enabled:false,Title:L_NavActionStreetSideToolTip_Text,Children:null,Text:null};Ao[Ay.ShowLabels]={Id:Ay.ShowLabels,InitialClass:"MSVE_MapStyle",OnClickFunction:AU,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:Ac,Enabled:true,Title:L_NavActionShowLabels_Text,Children:null,Text:L_NavActionLabels_Text};Ao[Ay.Traffic]={Id:Ay.Traffic,InitialClass:"MSVE_MapStyle",OnClickFunction:Bg,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:L_NavActionShowTrafficToolTip_Text,Children:null,Text:L_NavActionTraffic_Text};this.ObliqueFunctions=[];this.ObliqueFunctions.ObliqueImageryIn3D={ObliqueClickFunction:Bf,Title:L_NavActionShowObliqueToolTip_Text,DependsOnObliqueAvailability:true};this.ObliqueFunctions.ObliqueTiltIn3D={ObliqueClickFunction:Bh,Title:L_NavAction3DObliqueToolTip_Text,DependsOnObliqueAvailability:false};var At=this,Ax=[],Ar=Msn.VE.DashboardStates.MapMode.Flatland,Av=Msn.VE.DashboardStates.MapView.Ortho,As=Msn.VE.DashboardStates.MapStyle.Road;this.orthoZoom=null;var Al;this.obliqueCompass=null;this.obliqueZoom=null;this.displaying3DNotification=false;var AV=null;this.Oblique3DFunctionality=this.ObliqueFunctions.ObliqueImageryIn3D;var Af=document.createElement("div");Af.id="MSVE_navAction_palette";document.body.appendChild(Af);var BK=false,BX=false,A7=19,A9=1,Am=true,A8=false,Ae=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin,BD;for(BD in AZ){if(AZ.hasOwnProperty(BD)){BE(AZ[BD])}}function BQ(){var A=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(Aw.IsObliqueAvailable()||Aw.IsMapViewOblique());if(A){Aq(Ay.Oblique,true);if(Ax[Ay.ObliqueNotification]&&!Aw.IsMapViewOblique()&&!g(Ax[Ay.Oblique]).hasClass("MSVE_selected")){AX()}}else{Aq(Ay.Oblique,false);if(Ax[Ay.ObliqueNotification]){Ag()}}A3();if(Aw.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){A5()}else{A6()}}function Bc(){var A;for(A in AZ){if(AZ.hasOwnProperty(A)){BJ(AZ[A])}}document.body.removeChild(Af);Af=null}function BE(C){switch(C){case Ay.OrthoZoom:Ax[C]=document.createElement("div");At.orthoZoom=new BZ(Ax[C]);At.orthoZoom.Init();Aw.AttachEvent("onendzoom",AY);Af.appendChild(Ax[C]);AY();return ;case Ay.ObliqueZoom:Ax[C]=document.createElement("div");BX=true;Ax[C].id=C;Af.appendChild(Ax[C]);return ;case Ay.TinyZoom:Al=new AS;Ax[C]=Al.Init();Aw.AttachEvent("onendzoom",AY);AY();return ;case Ay.ObliqueCompass:Ax[C]=document.createElement("div");Ax[C].id=C;BK=true;return ;case Ay.ObliqueNotification:AQ();return ;case Ay.ThreeDUpdatedNotification:Ai();return ;case Ay.Oblique:Aw.AttachEvent("onve3dphotostatechanged",Bj)}var D=Ao[C],B=document.createElement("div");Ax[D.Id]=B;B.id=D.Id;B.enabled=D.Enabled;B.classRecipients=[B];if(D.Text!=null){B.innerText=D.Text}if(D.OnClickFunction!=null&&D.Enabled==true){B.attachEvent("onclick",D.OnClickFunction)}if(D.StyleUpdateEvent!=null&&D.StyleUpdateFunction!=null){Aw.AttachEvent(D.StyleUpdateEvent,D.StyleUpdateFunction)}if(D.InitialClass){B.className=D.InitialClass;if(!B.enabled){B.className+="_disabled"}}if(D.Children!=null){var A;for(A in D.Children){if(D.Children.hasOwnProperty(A)){B.appendChild(BE(D.Children[A]))}}}else{pseudoHover(B)}switch(C){case Ay.Oblique:case Ay.ObliqueCompass:Aw.AttachEvent("onobliqueenter",BW);Aw.AttachEvent("onobliqueleave",BG);Aw.AttachEvent("onendmapstyleoblique",AT);Aw.AttachEvent("onobliquechange",AP);Aw.AttachEvent("obliquerequestunavailable",AL);break;case Ay.Traffic:Aw.AttachEvent("onchangetraffic",BU);BU()}return B}function BJ(E){switch(E){case Ay.OrthoZoom:At.orthoZoom.Destroy();Ax[E]=null;Aw.DetachEvent("onendzoom",AY);try{Af.removeChild(Ax[E])}catch(A){}return ;case Ay.ObliqueZoom:try{Af.removeChild(Ax[E])}catch(A){}if(At.obliqueZoom){At.obliqueZoom.Destroy();At.obliqueZoom=null}case Ay.TinyZoom:Al.Destroy();Ax[E]=null;return ;case Ay.ObliqueCompass:if(BK&&At.obliqueCompass){At.obliqueCompass.onclick=null;At.obliqueCompass.Destroy();At.obliqueCompass=null}return ;case Ay.ObliqueNotification:Ax[Ay.ObliqueNotification].detachEvent("onclick",BB);return ;case Ay.ThreeDUpdatedNotification:Ax[Ay.ThreeDUpdatedNotification]=null;return ;case Ay.Traffic:Aw.DetachEvent("onchangetraffic",BU)}var B=Ax[E];if(B==null){return }var G=Ao[E];if(G.Children!=null){var D,C;for(C in G.Children){if(G.Children.hasOwnProperty(C)){D=G.Children[C];try{B.removeChild(Ax[D])}catch(A){}BJ(D)}}}if(G.OnClickFunction!=null){B.detachEvent("onclick",G.OnClickFunction)}try{if(Aw&&G.StyleUpdateEvent!=null&&G.StyleUpdateFunction!=null){Aw.DetachEvent(G.StyleUpdateEvent,G.StyleUpdateFunction)}}catch(A){}Ax[G.Id]=null}function AQ(){Ax[Ay.ObliqueNotification]=document.createElement("div");Ax[Ay.ObliqueNotification].id=Ay.ObliqueNotification;Ax[Ay.ObliqueNotification].attachEvent("onclick",BB);Ax[Ay.ObliqueNotification].innerHTML+='<div id="MSVE_obliqueNotifyBeak" ></div> <div id="MSVE_obliqueNotifyContent"> <div id="MSVE_obliqueNotifyText" >'+L_DashboardBirdsEyeText_Text+'</div><img id="MSVE_obliqueNotifyImg" /></div>'}function Ai(){Ax[Ay.ThreeDUpdatedNotification]=document.createElement("div");Ax[Ay.ThreeDUpdatedNotification].id=Ay.ThreeDUpdatedNotification;Ax[Ay.ThreeDUpdatedNotification].innerHTML+='<div id="MSVE_threeDNotifyIcon">&nbsp;</div> <div id="MSVE_threeDNotifyText">'+L_Dashboard3DInstalled_Text+"</div>"}function Bd(){BT()}function BT(){if(As==Msn.VE.DashboardStates.MapStyle.Road&&Av==Msn.VE.DashboardStates.MapView.Ortho){return }As=Msn.VE.DashboardStates.MapStyle.Road;Av=Msn.VE.DashboardStates.MapView.Ortho;Ak(Ar+Av+As)}function Ba(){if(Ax[Ay.ShowLabels]){Aq(Ay.ShowLabels,true);if(Am){A1()}else{A2()}}else{A2()}}function A2(){if(As==Msn.VE.DashboardStates.MapStyle.Aerial&&Av==Msn.VE.DashboardStates.MapView.Ortho){return }As=Msn.VE.DashboardStates.MapStyle.Aerial;Av=Msn.VE.DashboardStates.MapView.Ortho;Ak(Ar+Av+As)}function BO(){A1()}function A1(){if(As==Msn.VE.DashboardStates.MapStyle.Hybrid&&Av==Msn.VE.DashboardStates.MapView.Ortho){return }As=Msn.VE.DashboardStates.MapStyle.Hybrid;Av=Msn.VE.DashboardStates.MapView.Ortho;Ak(Ar+Av+As)}function Aa(){if(Av==Msn.VE.DashboardStates.MapView.Ortho&&Ar==Msn.VE.DashboardStates.MapMode.Flatland){return }Av=Msn.VE.DashboardStates.MapView.Ortho;if(Ar==Msn.VE.DashboardStates.MapMode.Flatland){switch(As){case Msn.VE.DashboardStates.MapStyle.Aerial:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){Ak(Ar+Av+As)}else{BT()}break;case Msn.VE.DashboardStates.MapStyle.Hybrid:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){Ak(Ar+Av+As)}else{BT()}break;default:Ak(Ar+Av+As)}}else{Ak(Ar+Av)}Ah()}function BB(A){if(Ar==Msn.VE.DashboardStates.MapMode.View3D&&g(Ax[Ay.Oblique]).hasClass("MSVE_selected")){Ag();A.cancelBubble=true;return }BM()}function BM(){if(typeof Ax[Ay.ObliqueNotification]!="undefined"&&Ax[Ay.ObliqueNotification]){Ag()}if(Ar==Msn.VE.DashboardStates.MapMode.View3D){At.Oblique3DFunctionality.ObliqueClickFunction()}else{BV()}}var BF=null;function Bf(){var B=new Date;if(BF!=null){if(B.getTime()-BF.getTime()<1000){return }}BF=B;var C=!g(Ax[Ay.Oblique]).hasClass("MSVE_selected");Aw.Show3DBirdseye(C,As==Msn.VE.DashboardStates.MapStyle.Road||Am);var A=C?"RequestLayerBirdsEyeOn":"RequestLayerBirdsEyeOff"}var Aj;function BV(){if(Av===Msn.VE.DashboardStates.MapView.Oblique){return }Av=Msn.VE.DashboardStates.MapView.Oblique;AW();if(Am){As=Msn.VE.DashboardStates.MapStyle.Hybrid}else{As=Msn.VE.DashboardStates.MapStyle.Aerial}if(typeof Msn.VE.API=="undefined"){Au()}else{BN()}}function Au(){if(!Aj){var A=$ID("msve_mapContainer");Aj=document.createElement("div");Aj.id="animator";A.appendChild(Aj)}Aj.style.display="block";Aj.className="zoom_animation";window.setTimeout(BN,2000)}function BN(){if(Aj){Aj.parentNode.removeChild(Aj);Aj=null}if(Aw.IsDragging()||Aw.IsZooming()){window.setTimeout(BN,250);return }Ak(Ar+Av+As)}function Bh(){Bi(Msn.VE.DashboardStates.MapMode.View3D+Msn.VE.DashboardStates.MapView.Oblique)}function BH(){if(Av==Msn.VE.DashboardStates.MapView.StreetSide&&Ar==Msn.VE.DashboardStates.MapMode.Flatland){return }Av=Msn.VE.DashboardStates.MapView.StreetSide;Ak(Ar+Av);AR()}function AU(){if(As==Msn.VE.DashboardStates.MapStyle.Aerial){Am=true;As=Msn.VE.DashboardStates.MapStyle.Hybrid}else{if(As==Msn.VE.DashboardStates.MapStyle.Hybrid){Am=false;As=Msn.VE.DashboardStates.MapStyle.Aerial}}Ak(Ar+Av+As)}function AM(){Aw.EnableMode(Msn.VE.MapActionMode.Mode2D)}function AO(){if(typeof Ax[Ay.ThreeDUpdatedNotification]!="undefined"&&Ax[Ay.ThreeDUpdatedNotification]){BP()}if(!Aw.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}else{Aw.EnableMode(Msn.VE.MapActionMode.Mode3D)}}}function BU(){if(VE_TrafficManager.turnedOn){g(Ax[Ay.Traffic]).addClass("MSVE_selected");Ax[Ay.Traffic].title=L_NavActionHideTrafficToolTip_Text}else{g(Ax[Ay.Traffic]).removeClass("MSVE_selected");Ax[Ay.Traffic].title=L_NavActionShowTrafficToolTip_Text}}function Bg(){if(VE_TrafficManager.turnedOn){VE_TrafficManager.ClearTraffic()}else{for(var A in Msn.VE.API.Globals.vemapinstances){if(Msn.VE.API.Globals.vemapinstances[A] instanceof VEMap&&Msn.VE.API.Globals.vemapinstances[A].vemapcontrol){VE_TrafficManager.m_vemap=Msn.VE.API.Globals.vemapinstances[A];break}}VE_TrafficManager.turnedOn=true;VE_TrafficManager.showTrafficFlow=true;VE_TrafficManager.showIncidents=true;VE_TrafficManager.showConstructionIncidents=true;VE_TrafficManager.markets=[];VE_TrafficManager.incidents=[];VE_TrafficManager.m_vemap.ShowTrafficLegend();VE_TrafficManager.m_vemap.SetTrafficLegendText(L_MapLegendAndPopupLink_Text);window.setTimeout(VE_TrafficManager.GetMarkets,100)}BU()}function Bj(A){if(A.enabled=="1"){g(Ax[Ay.Oblique]).addClass("MSVE_selected");Ax[Ay.Oblique].title=L_NavActionHideObliqueToolTip_Text}else{g(Ax[Ay.Oblique]).removeClass("MSVE_selected");Ax[Ay.Oblique].title=L_NavActionShowObliqueToolTip_Text}}function Ac(A){A3(A.view.mapStyle)}function A0(A){if(A==Msn.VE.MapActionMode.Mode3D){A5()}else{A6()}}function A5(){if(Ar==Msn.VE.DashboardStates.MapMode.View3D){return }Ar=Msn.VE.DashboardStates.MapMode.View3D;if(typeof Ax[Ay.Mode]!="undefined"&&Ax[Ay.Mode]!=null){g(Ax[Ay.Mode].classRecipients).swapClass("MSVE_FlatlandMapMode","MSVE_View3DMapMode")}Aq(Ay.StreetSide,true);Aq(Ay.Road,true);Aq(Ay.Aerial,true);Aq(Ay.Hybrid,true);if(!At.Oblique3DFunctionality.DependsOnObliqueAvailability){Aq(Ay.Oblique,true)}else{if(Ax[Ay.ObliqueNotification]!=null&&Ax[Ay.ObliqueNotification].enabled&&!g(Ax[Ay.Oblique]).hasClass("MSVE_selected")){AX()}Ah()}if(typeof Ax[Ay.Ortho]!="undefined"&&Ax[Ay.Ortho]!=null){Ax[Ay.Ortho].title=L_NavAction3DOrthoToolTip_Text}if(typeof Ax[Ay.Oblique]!="undefined"&&Ax[Ay.Oblique]!=null){Ax[Ay.Oblique].title=At.Oblique3DFunctionality.Title;if(Ax[Ay.Oblique].enabled&&!g(Ax[Ay.Oblique]).hasClass("MSVE_selected")){AX()}}if(typeof Ax[Ay.StreetSide]!="undefined"&&Ax[Ay.StreetSide]!=null){Ax[Ay.StreetSide].title=L_NavAction3DStreetSideToolTip_Text}var A=Aw.GetDashboard().GetShimmedElements(),B;for(B=0;B<A.length;B++){mvcViewFacade.UpdateShimIfSupported(A[B])}}function A6(){Ar=Msn.VE.DashboardStates.MapMode.Flatland;if(typeof Ax[Ay.Mode]!="undefined"&&Ax[Ay.Mode]!=null){g(Ax[Ay.Mode].classRecipients).swapClass("MSVE_View3DMapMode","MSVE_FlatlandMapMode")}if(typeof Ax[Ay.Ortho]!="undefined"&&Ax[Ay.Ortho]!=null){Ax[Ay.Ortho].title=L_NavActionOrthoToolTip_Text}if(typeof Ax[Ay.Oblique]!="undefined"&&Ax[Ay.Oblique]!=null){Ax[Ay.Oblique].title=L_NavActionObliqueToolTip_Text}g(Ax[Ay.Oblique]).removeClass("MSVE_selected");photoState=0;if($MVEM.IsEnabled(MapControl.Features.MapStyle.Road)){Aq(Ay.Road,true)}else{Aq(Ay.Road,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){Aq(Ay.Aerial,true)}else{Aq(Ay.Aerial,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){Aq(Ay.Hybrid,true)}else{Aq(Ay.Hybrid,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){Aw.GetObliqueAvailability("OnFlatlandModeUpdateUIObliqueReturned",BC);return }else{BC(false)}}function BC(A){if(A){Aq(Ay.Oblique,true);if(At.obliqueZoom!=null){At.obliqueZoom.UpdateFromMap()}}else{Aq(Ay.Oblique,false);Av=Msn.VE.DashboardStates.MapView.Ortho;Ah()}switch(Av){case Msn.VE.DashboardStates.MapView.Oblique:if(A&&$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){Ak(Ar+Av)}else{Aa()}break;case Msn.VE.DashboardStates.MapView.StreetSide:Aa();break;case Msn.VE.DashboardStates.MapView.Ortho:switch(As){case Msn.VE.DashboardStates.MapStyle.Aerial:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){Ak(Ar+Av+As)}else{BT()}break;case Msn.VE.DashboardStates.MapStyle.Hybrid:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){Ak(Ar+Av+As)}else{BT()}break;default:Ak(Ar+Av+As)}break;default:Aa()}}function AY(){if(At.orthoZoom){At.orthoZoom.UpdateFromMap()}if(At.obliqueZoom){At.obliqueZoom.UpdateFromMap()}var A=null,B=null;if(Al){var C=Al.GetPlus();if(C){A=g([C])}var D=Al.GetMinus();if(D){B=g([D])}}if(Aw.IsMapViewOrtho()&&Aw.GetZoomLevel()==A7||Aw.IsMapViewOblique()&&Aw.GetZoomLevel()==2){if(A){A.addClass("MSVE_ZoomBar_plus_disabled")}if(Al){Al.UnhookPlusEvents()}}else{if(Aw.GetZoomLevel()==A9){if(B){B.addClass("MSVE_ZoomBar_minus_disabled")}if(Al){Al.UnhookMinusEvents()}}}if(Aw.IsMapViewOrtho()&&Aw.GetZoomLevel()!=A7||Aw.IsMapViewOblique()&&Aw.GetZoomLevel()!=2){if(A&&A.hasClass("MSVE_ZoomBar_plus_disabled")){A.removeClass("MSVE_ZoomBar_plus_disabled");if(Al){Al.HookupPlusEvents()}}}if(Aw.GetZoomLevel()!=A9){if(B&&B.hasClass("MSVE_ZoomBar_minus_disabled")){B.removeClass("MSVE_ZoomBar_minus_disabled");if(Al){Al.HookupMinusEvents()}}}}function BW(){if(Aw.IsMapViewOblique()){Av=Msn.VE.DashboardStates.MapView.Oblique}if(Ar==Msn.VE.DashboardStates.MapMode.Flatland||Ar==Msn.VE.DashboardStates.MapMode.View3D&&At.Oblique3DFunctionality.DependsOnObliqueAvailability){Aq(Ay.Oblique,true);if(Ax[Ay.ObliqueNotification]&&!Aw.IsMapViewOblique()&&!g(Ax[Ay.Oblique]).hasClass("MSVE_selected")){AX()}}}function BG(){Av=Msn.VE.DashboardStates.MapView.Ortho;Ah();if(Ar==Msn.VE.DashboardStates.MapMode.Flatland||Ar==Msn.VE.DashboardStates.MapMode.View3D&&At.Oblique3DFunctionality.DependsOnObliqueAvailability){Aq(Ay.Oblique,false);Ag()}}function AL(){if(Aw.IsObliqueAvailable()){At.obliqueCompass.UpdateFromMap(Ae,true)}else{BG()}}function AT(){if(Aw.IsObliqueAvailable()){Av=Msn.VE.DashboardStates.MapView.Ortho;Ah()}else{BG()}}function AP(){if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){if(Av!=Msn.VE.DashboardStates.MapView.Oblique){Av=Msn.VE.DashboardStates.MapView.Oblique;Aq(Ay.Oblique,true);AW()}}else{Av=Msn.VE.DashboardStates.MapView.Oblique;Aa()}if(Ax[Ay.ObliqueNotification]){Ag()}if(typeof At.obliqueCompass!="undefined"&&At.obliqueCompass!=null){At.obliqueCompass.UpdateFromMap(Ae);Ae=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}}function A3(A){if(!A){A=Aw.GetMapStyle()}switch(A){case Msn.VE.MapStyle.Shaded:case Msn.VE.MapStyle.Road:Av=Msn.VE.DashboardStates.MapView.Ortho;Ah();As=Msn.VE.DashboardStates.MapStyle.Road;Az();if(Ax[Ay.ShowLabels]){Aq(Ay.ShowLabels,false);g(Ax[Ay.ShowLabels]).addClass("MSVE_selected")}break;case Msn.VE.MapStyle.Aerial:Av=Msn.VE.DashboardStates.MapView.Ortho;Ah();As=Msn.VE.DashboardStates.MapStyle.Aerial;BL();Am=false;if(Ax[Ay.ShowLabels]){Aq(Ay.ShowLabels,true);g(Ax[Ay.ShowLabels]).removeClass("MSVE_selected")}break;case Msn.VE.MapStyle.Hybrid:Av=Msn.VE.DashboardStates.MapView.Ortho;Ah();As=Msn.VE.DashboardStates.MapStyle.Hybrid;if(Ax[Ay.ShowLabels]){Am=true;BL();Aq(Ay.ShowLabels,true);g(Ax[Ay.ShowLabels]).addClass("MSVE_selected")}else{A4()}break;case Msn.VE.MapStyle.Oblique:Av=Msn.VE.DashboardStates.MapView.Oblique;AW();As=Msn.VE.DashboardStates.MapStyle.Aerial;if(Ax[Ay.ShowLabels]){BL();Am=false;Aq(Ay.ShowLabels,true);g(Ax[Ay.ShowLabels]).removeClass("MSVE_selected")}Aq(Ay.Oblique,true);break;case Msn.VE.MapStyle.ObliqueHybrid:Av=Msn.VE.DashboardStates.MapView.Oblique;AW();As=Msn.VE.DashboardStates.MapStyle.Hybrid;if(Ax[Ay.ShowLabels]){A4();Am=true;Aq(Ay.ShowLabels,true);g(Ax[Ay.ShowLabels]).addClass("MSVE_selected")}Aq(Ay.Oblique,true)}if(Ar==Msn.VE.DashboardStates.MapMode.View3D&&g(Ax[Ay.Oblique]).hasClass("MSVE_selected")){if(As==Msn.VE.DashboardStates.MapStyle.Road){Aw.Show3DBirdseye(true,true)}else{Aw.Show3DBirdseye(true,Am)}}if(Ax[Ay.ShowLabels]){if(Am||As==Msn.VE.DashboardStates.MapStyle.Road){Ax[Ay.ShowLabels].title=L_NavActionHideLabels_Text}else{Ax[Ay.ShowLabels].title=L_NavActionShowLabels_Text}}}function Az(){if(typeof Ax[Ay.Style]!="undefined"&&Ax[Ay.Style]!=null){var A;for(A=0;A<Ax[Ay.Style].classRecipients.length;A++){Ax[Ay.Style].classRecipients[A].className="MSVE_RoadMapStyle"}}}function BL(){if(typeof Ax[Ay.Style]!="undefined"&&Ax[Ay.Style]!=null){var A;for(A=0;A<Ax[Ay.Style].classRecipients.length;A++){Ax[Ay.Style].classRecipients[A].className="MSVE_AerialMapStyle"}}}function A4(){if(typeof Ax[Ay.Style]!="undefined"&&Ax[Ay.Style]!=null){var A;for(A=0;A<Ax[Ay.Style].classRecipients.length;A++){Ax[Ay.Style].classRecipients[A].className="MSVE_HybridMapStyle"}}}function Ah(){if(typeof Ax[Ay.View]!="undefined"&&Ax[Ay.View]!=null){var A=g(Ax[Ay.View].classRecipients);A.removeClass("MSVE_StreetSideView");A.removeClass("MSVE_ObliqueView");A.addClass("MSVE_OrthoView")}if(Ax[Ay.Traffic]!=null){Aq(Ay.Traffic,true);BU()}Ae=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}function AW(){if(typeof Ax[Ay.View]!="undefined"&&Ax[Ay.View]!=null){var A=g(Ax[Ay.View].classRecipients);A.removeClass("MSVE_StreetSideView");A.removeClass("MSVE_OrthoView");A.addClass("MSVE_ObliqueView")}if(BK){if(At.obliqueCompass==null){At.obliqueCompass=new s(Ax[Ay.ObliqueCompass]);if(Ax[Ay.ObliqueCompass].radius){At.obliqueCompass.SetRadius(Ax[Ay.ObliqueCompass].radius)}At.obliqueCompass.onclick=function(){Ae=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}}At.obliqueCompass.UpdateFromMap()}if(BX){if(At.obliqueZoom==null){At.obliqueZoom=new Be(Ax[Ay.ObliqueZoom]);At.obliqueZoom.Init()}At.obliqueZoom.UpdateFromMap()}if(Ax[Ay.Traffic]!=null&&Ar==Msn.VE.DashboardStates.MapMode.Flatland){Aq(Ay.Traffic,false)}}function AR(){if(typeof Ax[Ay.View]!="undefined"&&Ax[Ay.View]!=null){var A=g(Ax[Ay.View].classRecipients);A.removeClass("MSVE_OrthoView");A.removeClass("MSVE_ObliqueView");A.addClass("MSVE_StreetSideView")}}function AX(){if(!Ax[Ay.ObliqueNotification]){return }if(A8){return }A8=true;if(!At.displaying3DNotification){if(Av!=Msn.VE.DashboardStates.MapView.Oblique){if(!AV){var A=g(Ax[Ay.ObliqueNotification]),E=A.select("img");for(var b=0;b<E.length&&!AV;b++){var G=E.element(b);if(G.id=="MSVE_obliqueNotifyImg"){AV=G}}}if(AV){AV.src=Aw.GetObliqueMode().GetMiddleTileFilename()}var d=Ax[Ay.Oblique];Ax[Ay.ObliqueNotification].style.display="block";var C=d.offsetLeft+d.offsetWidth/2-Ax[Ay.ObliqueNotification].offsetWidth/2,B=d.offsetTop+d.offsetHeight+4;g(Ax[Ay.ObliqueNotification]).setStyle("top",B+"px").setStyle("left",C+"px");var D=BR(),c;for(c=0;c<D.length;++c){mvcViewFacade.UpdateShimIfSupported(D[c])}C=B=d=null;window.setTimeout(Ag,6000)}}}function BA(){if(!Ax[Ay.ThreeDUpdatedNotification]){return }Ag();if(!At.displaying3DNotification){At.displaying3DNotification=true;var C=Ax[Ay.Mode3D];Ax[Ay.ThreeDUpdatedNotification].style.display="block";var B=C.offsetLeft-6,A=C.offsetTop+C.offsetHeight+4;g(Ax[Ay.ThreeDUpdatedNotification]).setStyle("top",A+"px").setStyle("left",B+"px");mvcViewFacade.UpdateShimIfSupported(Ax[Ay.ThreeDUpdatedNotification]);C=null;window.setTimeout(BP,6000)}}function Ag(){Ax[Ay.ObliqueNotification].style.display="none";var A=BR(),B;for(B=0;B<A.length;++B){mvcViewFacade.UpdateShimIfSupported(A[B])}}function BP(){At.displaying3DNotification=false;Ax[Ay.ThreeDUpdatedNotification].style.display="none";mvcViewFacade.UpdateShimIfSupported(Ax[Ay.ThreeDUpdatedNotification])}function Aq(C,B){if(Ax[C]==null){return }if(Ax[C].enabled==B){return }Ax[C].enabled=B;var A=Ao[C];if(A.InitialClass){if(B){g(Ax[C]).swapClass(A.InitialClass+"_disabled",A.InitialClass)}else{g(Ax[C]).swapClass(A.InitialClass,A.InitialClass+"_disabled")}}if(A.Title){Ax[C].title=A.Title}if(A.OnClickFunction){if(B){Ax[C].attachEvent("onclick",A.OnClickFunction)}else{Ax[C].detachEvent("onclick",A.OnClickFunction)}}}function Ak(A){if(A&Msn.VE.DashboardStates.MapView.Ortho||A&Msn.VE.DashboardStates.MapMode.View3D){if(A&Msn.VE.DashboardStates.MapStyle.Road){Aw.SetMapStyle("r")}else{if(A&Msn.VE.DashboardStates.MapStyle.Aerial){Aw.SetMapStyle("a")}else{if(A&Msn.VE.DashboardStates.MapStyle.Hybrid){Aw.SetMapStyle("h")}}}}if(A&Msn.VE.DashboardStates.MapMode.Flatland&&A&Msn.VE.DashboardStates.MapView.Oblique){if(A&Msn.VE.DashboardStates.MapStyle.Aerial&&Aw.GetMapStyle()!=Msn.VE.MapStyle.Oblique){Am=false;if(Ax[Ay.ShowLabels]){Aq(Ay.ShowLabels,true);g(Ax[Ay.ShowLabels]).removeClass("MSVE_selected")}Aw.SetMapStyle(Msn.VE.MapStyle.Oblique)}else{if(A&Msn.VE.DashboardStates.MapStyle.Hybrid&&Aw.GetMapStyle()!=Msn.VE.MapStyle.ObliqueHybrid){Am=true;if(Ax[Ay.ShowLabels]){Aq(Ay.ShowLabels,true);g(Ax[Ay.ShowLabels]).addClass("MSVE_selected")}Aw.SetMapStyle(Msn.VE.MapStyle.ObliqueHybrid)}}}}function Bi(A){if(A&Msn.VE.DashboardStates.MapMode.View3D){if(A&Msn.VE.DashboardStates.MapView.Ortho){Aw.SetTilt(-90)}else{if(A&Msn.VE.DashboardStates.MapView.Oblique){Aw.SetTilt(-45)}else{if(A&Msn.VE.DashboardStates.MapView.StreetSide){Aw.SetTilt(-25)}}}}}function BR(){return[Ax[Ay.ObliqueNotification]]}function AN(A){return Ax[A]}function BI(){return Ax}function Ap(){return Al}function BY(){return Ae}function An(A){Ae=A}this.SetMapViewState=function(A){Av=A};this.GetMapViewState=function(){return Av};this.SetMapModeState=function(A){Ar=A};this.GetMapModeState=function(){return Ar};this.SetLabelsState=function(A){Am=A};this.GetLabelsState=function(){return Am};this.GetLastRotationDirection=BY;this.SetLastRotationDirection=An;this.GetObliqueNotifierShimmedElements=BR;this.Init=BQ;this.Create=BE;this.Destroy=Bc;this.DestroyControl=BJ;this.GetControl=AN;this.GetControls=BI;this.GetTinyZoom=Ap;this.OnOrthoMapViewClick=Aa;this.OnObliqueMapViewClick=BM;this.UpdateZoom=AY;this.SelectObliqueMapView=AW;this.SelectOrthoMapView=Ah;this.DisplayObliqueNotification=AX;this.HideObliqueNotification=Ag;this.DisplayThreeDUpdatedNotification=BA;this.HideThreeDUpdatedNotification=BP};var AI=document.createElement("div");AI.id=S;F.appendChild(AI);AI.attachEvent("onmousedown",IgnoreEvent);AI.attachEvent("onmouseup",IgnoreEvent);AI.attachEvent("onmousemove",DashboardContainerMouseMoveEvent);AI.attachEvent("onmousewheel",IgnoreEvent);AI.attachEvent("ondblclick",IgnoreEvent);AI.attachEvent("oncontextmenu",IgnoreEvent);AI.attachEvent("onkeydown",IgnoreEvent);AI.attachEvent("onkeyup",IgnoreEvent);AI.className="MSVE_Dashboard MSVE_Dashboard_V5 MSVE_FlatlandMapMode";if(AD==Msn.VE.DashboardSize.Normal){AI.className+=" MSVE_Dashboard_Normal"}else{if(AD==Msn.VE.DashboardSize.Small){AI.className+=" MSVE_Dashboard_Small"}else{if(AD==Msn.VE.DashboardSize.Tiny){AI.className+=" MSVE_Dashboard_Tiny"}}}var AE=null,AF=document.createElement("div");AF.className="MSVE_header";AF.id="MSVE_navAction_header";var AG,AH,AJ=Q,X=document.createElement("div");X.id="MSVE_dashboardContainer";var U=document.createElement("div");U.id="MSVE_mapViewRow";X.appendChild(U);var Z=document.createElement("div");Z.id="MSVE_zoomDiv";var V=document.createElement("div");V.id="MSVE_navAction_mapViewCell";V.className="MSVE_dashboardMapModeContainer";U.appendChild(Z);U.appendChild(V);var AA=document.createElement("div");AA.id="MSVE_mapStyleRow";X.appendChild(AA);var AC=document.createElement("div");AC.id="MSVE_threeDNotification";var Y=document.createElement("div");Y.id="MSVE_lowerContainer";Y.appendChild(X);AI.className+=" expanded";AI.appendChild(AF);AI.appendChild(Y);var AB=false;function O(){if(AD==Msn.VE.DashboardSize.Normal){controlsNeeded=[AJ.Mode,AJ.View,AJ.Style,AJ.OrthoZoom,AJ.ObliqueCompass,AJ.ObliqueZoom];AG=new Msn.VE.CommonControls(AK,controlsNeeded);AH=AG.GetControls();AG.displaying3DNotification=false;AH[AJ.View].classRecipients=[X];AH[AJ.Mode].classRecipients=[AI];AG.Oblique3DFunctionality=AG.ObliqueFunctions.ObliqueTiltIn3D;AG.Init();T(I);this.HideToggleGlyph();V.appendChild(AH[AJ.View]);AA.appendChild(AH[AJ.Style]);AA.appendChild(AH[AJ.ObliqueCompass]);Z.appendChild(AH[AJ.OrthoZoom]);Z.appendChild(AH[AJ.ObliqueZoom]);if(W&&$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){AG.Create(AJ.ObliqueNotification);Y.appendChild(AH[AJ.ObliqueNotification])}if(Msn.VE.Animation){N()}}if(AD==Msn.VE.DashboardSize.Small){controlsNeeded=[AJ.Style];AG=new Msn.VE.CommonControls(AK,controlsNeeded);AH=AG.GetControls();AA.appendChild(AH[AJ.Style]);AG.Init()}if(AD==Msn.VE.DashboardSize.Small||AD==Msn.VE.DashboardSize.Tiny){controlsNeeded=[AJ.TinyZoom];AG=new Msn.VE.CommonControls(AK,controlsNeeded);AH=AG.GetControls();Z.appendChild(AH[AJ.TinyZoom]);var C=AG.GetTinyZoom(),A=C.GetPlus(),B=C.GetMinus();if(A&&B){C.HookupPlusMinusEvents(A,B)}}}function P(){if(AD==Msn.VE.DashboardSize.Normal){AG.DestroyControl(AH[AJ.OrthoZoom]);AG.DestroyControl(AH[AJ.ObliqueZoom]);AG.DestroyControl(AH[AJ.ObliqueCompass]);H();if(AK){try{AK.DetachEvent("onobliquechange",OnObliqueChange);if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){AK.DetachEvent("onobliqueenter",OnObliqueEnter);AK.DetachEvent("onobliqueleave",OnObliqueLeave)}}catch(A){}AK=null}}if(AD==Msn.VE.DashboardSize.Normal||AD==Msn.VE.DashboardSize.Small){AG.DestroyControl(AH[AJ.Style]);AA.removeChild(AH[AJ.Style])}if(AD==Msn.VE.DashboardSize.Small||AD==Msn.VE.DashboardSize.Tiny){AG.DestroyControl(AH[AJ.TinyZoom]);Z.removeChild(AH[AJ.TinyZoom])}AA=AG.obliqueCompass=null;V=U=null;Y=null;AC=null;AH[AJ.ObliqueNotification]=Z=AH[AJ.ObliqueCompass]=null}function K(){if(!AK.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)&&!AK.IsMapViewOblique()){Y.appendChild(AC);AC.style.top=-(AF.offsetHeight/2+6)+"px";AC.innerHTML+='<div id="MSVE_threeDNotifyIcon">&nbsp;</div> <div id="MSVE_threeDNotifyText">'+L_Dashboard3DText_Text+"</div>";AC.attachEvent("onclick",M);window.setTimeout(J,6000);AG.displaying3DNotification=true}else{AC.style.display="none"}}function T(A){R(A);AE=document.createElement("a");AE.className="MSVE_toggleGlyph";AE.title=L_NavActionHideToolTip_Text;AF.appendChild(AE)}function R(A){if($MVEM.IsEnabled(MapControl.Features.MapStyle.View3D)&&A!=false){if(!AB){AG.Create(AJ.Mode);AF.appendChild(AH[AJ.Mode]);K();AB=true}AF.className="MSVE_header MSVE_with3D"}else{AF.className="MSVE_header MSVE_no3D";AB=false}}function H(){if(AB){AG.DestroyControl(AJ.Mode);if(AH[AJ.Mode]!=null){AF.removeChild(AH[AJ.Mode])}AB=false}AF.removeChild(AE);AI.removeChild(AF);AE=AF=null}function M(){AC.style.display="none";AG.displaying3DNotification=false;if(!AK.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}else{AK.EnableMode(Msn.VE.MapActionMode.Mode3D)}}}function J(){if(AC){AC.style.display="none";AG.displaying3DNotification=false}if(AK!=null&&!AK.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(AK.IsObliqueAvailable()&&$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){AG.DisplayObliqueNotification()}}}this.SetX=function(A){AI.style.left=A+"px"};this.GetElement=function(){return AI};this.GetShimmedElements=function(){return[AI]};this.GetHeader=function(){return AF};this.GetY=function(){return g(AI).getScreenPosition().y};this.GetHeight=function(){return AI.offsetHeight};this.ShowToggleGlyph=function(){if(AE!=null&&AE!="undefined"){AE.style.display="block"}};this.HideToggleGlyph=function(){if(AE!=null&&AE!="undefined"){AE.style.display="none"}};this.SetShowMapModeSwitch=function(A){if(A!=AB){if(!A){AG.DestroyControl(AJ.Mode);AF.removeChild(AH[AJ.Mode]);AB=false}R(A)}};function N(){var A=AK.GetDashboard().GetHeader().lastChild;AK.GetDashboard().ShowToggleGlyph();window.dbRoller=new Msn.VE.Animation.Roller(AK.GetDashboard().GetElement());dbRoller.setAccelerationFunction(AccelerationFunctions.CrazyElevator);dbRoller.setYLeave(32);dbRoller.hookEvent("beforerollin",function(){dbRoller.setYLeave(AK.GetDashboard().GetHeader().offsetHeight);if(AK.GetMinimap()){AK.GetMinimap().Hide();if(AK.GetMinimap().IsInitialized()){AK.GetMinimap().SetDoUpdates(false)}}});dbRoller.hookEvent("afterrollin",function(){AK.GetDashboard().GetElement().className=AK.GetDashboard().GetElement().className.replace(/\s*expanded/g,"");AK.GetDashboard().GetElement().className+=" collapsed";AK.GetDashboard().GetHeader().lastChild.title=L_NavActionShowToolTip_Text});dbRoller.hookEvent("beforerollout",function(){AK.GetDashboard().GetElement().className=AK.GetDashboard().GetElement().className.replace(/\s*collapsed/g,"");AK.GetDashboard().GetElement().className+=" expanded"});dbRoller.hookEvent("afterrollout",function(){if(AK.GetMinimap()){AK.GetMinimap().Show();if(minimapRoller&&minimapRoller.isExpanded()&&AK.GetMinimap().IsInitialized()){AK.GetMinimap().SetDoUpdates(true)}}AK.GetDashboard().GetHeader().lastChild.title=L_NavActionHideToolTip_Text});dbRoller.hookEvent("roll",RollShim);A.onclick=function(){if(dbRoller.isExpanded()){dbRoller.rollIn(Msn.VE.Animation.RollDirection.BottomUp)}else{dbRoller.rollOut(Msn.VE.Animation.RollDirection.TopDown)}return false};A=null}this.Hide=function(){if(AI){AI.style.display="none"}};this.Show=function(){if(AI){AI.style.display="block"}};this.Init=O;this.Destroy=P;this.createRoller=N};function DashboardContainerMouseMoveEvent(A){A=GetEvent(A);return false}Msn.VE.V6Control=function(AR,A5,Am,Aj,AY,AC,AG){Msn.VE.DashboardStates=new function(){this.MapMode=new function(){this.Flatland=1;this.View3D=2};this.MapView=new function(){this.Ortho=4;this.Oblique=8;this.StreetSide=16};this.MapStyle=new function(){this.Road=32;this.Shaded=64;this.Aerial=128;this.Hybrid=256}};var AV={Style:"MSVE_navAction_mapStyleCell",Road:"MSVE_navAction_RoadMapStyle",Aerial:"MSVE_navAction_AerialMapStyle",Hybrid:"MSVE_navAction_HybridMapStyle",Mode:"MSVE_navAction_modeCell",Mode2D:"MSVE_navAction_FlatlandMapMode",Mode3D:"MSVE_navAction_View3DMapMode",View:"MSVE_navAction_mapViewCellInner",Ortho:"MSVE_navAction_OrthoMapView",Oblique:"MSVE_navAction_ObliqueMapView",StreetSide:"MSVE_navAction_StreetSideMapView",ShowLabels:"MSVE_navAction_showLabels",Pan:"MSVE_navAction_panContainer",PanUp:"MSVE_navAction_panUp",PanDown:"MSVE_navAction_panDown",PanLeft:"MSVE_navAction_panLeft",PanRight:"MSVE_navAction_panRight",TinyZoom:"MSVE_TinyZoomBar",OrthoZoom:"MSVE_OrthoZoomBar",ObliqueZoom:"MSVE_ObliqueZoomBar",ObliqueCompass:"MSVE_compassDiv",ObliqueNotification:"MSVE_obliqueNotification",ThreeDUpdatedNotification:"MSVE_threeDUpdatedNotification",Traffic:"MSVE_navAction_traffic"},Ag="Nav Bar";Msn.VE.CommonControls=function(Bm,BQ){function CS(U){var R=document.createElement("div"),S=document.createElement("div"),V=document.createElement("div"),T=document.createElement("div"),A=0,E=0,O=false;this.Init=function(){T.className="MSVE_ZoomBar_minus";T.id="MSVE_navAction_obliqueZoomBar_minus";T.unselectable="on";T.title=L_ZoomBarMinusToolTip_Text;T.attachEvent("onclick",M);pseudoHover(T);V.className="MSVE_ZoomBar_slider";V.id="MSVE_navAction_obliqueZoomBar_slider";V.unselectable="on";V.attachEvent("onmousedown",J);V.attachEvent("onmousemove",I);V.attachEvent("onmouseup",H);V.attachEvent("onclick",IgnoreEvent);pseudoHover(V);S.className="MSVE_ObliqueZoomBar_bar";S.unselectable="on";S.appendChild(V);S.attachEvent("onclick",F);R.className="MSVE_ZoomBar_plus";R.id="MSVE_navAction_obliqueZoomBar_plus";R.title=L_ZoomBarPlusToolTip_Text;R.unselectable="on";R.attachEvent("onclick",L);pseudoHover(R);U.className="MSVE_ZoomBar";U.id="MSVE_ObliqueZoomBar";U.appendChild(T);U.appendChild(S);U.appendChild(R);U.attachEvent("onmousedown",IgnoreEvent);U.attachEvent("onmouseup",IgnoreEvent);U.attachEvent("onclick",IgnoreEvent);U.attachEvent("ondblclick",IgnoreEvent);P()};function B(){U.style.display="block"}function C(){U.style.display="none"}function F(W){W=GetEvent(W);CancelEvent(W);N();K(Q(Gimme.Screen.getMousePosition(W).y));return false}function Q(W){W-=E+T.offsetHeight+V.offsetHeight;var X=S.offsetHeight-V.offsetHeight;if(W<0){W=0}else{if(W>X){W=X}}return W}function M(){Bm.ZoomOut()}function L(){Bm.ZoomIn()}function D(){T.detachEvent("onclick",M);V.detachEvent("onmousedown",J);V.detachEvent("onmousemove",I);V.detachEvent("onmouseup",H);V.detachEvent("onclick",IgnoreEvent);S.detachEvent("onclick",F);R.detachEvent("onclick",L);U.detachEvent("onmousedown",IgnoreEvent);U.detachEvent("onmousedown",IgnoreEvent);U.detachEvent("onclick",IgnoreEvent);U.detachEvent("ondblclick",IgnoreEvent);T=V=S=R=null}function J(W){W=GetEvent(W);CancelEvent(W);N();if(V.setCapture){V.setCapture()}O=true;return false}function I(W){W=GetEvent(W);CancelEvent(W);if(O){V.style.top=Q(Gimme.Screen.getMousePosition(W).y)+"px"}return false}function H(W){W=GetEvent(W);CancelEvent(W);if(V.releaseCapture){V.releaseCapture()}O=false;K(Q(Gimme.Screen.getMousePosition(W).y));P();return false}function N(){var W=g(U).getScreenPosition();A=W.x;E=W.y}function K(X){var W=S.offsetHeight-V.offsetHeight,Y=1+MathRound((W-X)/W*1);Bm.SetZoom(Y)}function P(){if(Bm.GetZoomLevel()==1){V.style.top=S.offsetHeight-V.offsetHeight+"px"}else{V.style.top="0px"}}this.Destroy=D;this.Show=B;this.Hide=C;this.UpdateFromMap=P}function CI(A,C,B){var Bb=document.createElement("div");Bb.setAttribute("id",A);Bb.innerHTML=C;var Y="MSVE_obliqueCompassPointOff",U=B;Bb.attachEvent("onmouseover",V);Bb.attachEvent("onmouseout",T);Bb.attachEvent("onclick",S);this.onclick=null;this.onmouseover=null;this.onmouseout=null;var W=25,Z=this,X=false,R=new E(Bb,17,17);function V(b){if(X){return }Y=Bb.className;Bb.className="MSVE_obliqueCompassPointHover";if(Z.onmouseover){Z.onmouseover(b)}}function S(b){if(X){return }V(b);Y="MSVE_obliqueCompassPointOn";if(Z.onclick){Z.onclick(b)}}function T(b){if(X){return }Bb.className=Y;if(Z.onmouseout){Z.onmouseout(b)}}function O(){Y="MSVE_obliqueCompassPointOn";Bb.className="MSVE_obliqueCompassPointOn"}function P(){Y="MSVE_obliqueCompassPointOff";Bb.className="MSVE_obliqueCompassPointOff"}function F(){X=true;P()}function Q(){X=false;O()}function K(){return Bb}function N(){return U}function M(b){U=b}function D(){R.Reset();Q()}function L(c){Bb.style.left=c.left;Bb.style.top=c.top}function E(e,v,u){var Ca=e,Cf=0,Ce=0.3,Cd=0,x=40,y=Math.PI/2,CZ=true,t=Ce+0.1;function w(f,d,h){if(d>=h-f&&d<=h+f){return true}return false}function CY(){Cf+=Ce;if(Cf>Math.PI*2){Cf-=Math.PI*2}else{if(Cf<0){Cf+=Math.PI*2}}if(w(t,Cf,Cd)){Ce=0.3;Cf=Cd;Cc(Cf);return }Cc(Cf);window.setTimeout(CY,x)}function Cc(f){var d=v+W*Math.sin(f),h=u+W*Math.cos(f);Ca.style.left=d+"px";Ca.style.top=h+"px"}function Cb(b){Cd=b;CY()}function z(b,d){CZ=d;if(!CZ){Ce*=-1}Cb(y*b)}function s(){Cf=0}this.RotateTo=Cb;this.RotateToIndex=z;this.Reset=s}function H(){Bb.detachEvent("onmouseover",V);Bb.detachEvent("onmouseout",T);Bb.detachEvent("onclick",S);Bb=null}function I(b){W=b}function J(){return W}this.SetRadius=I;this.GetRadius=J;this.GetElement=K;this.GetCurrentPositionIndex=N;this.SetCurrentPositionIndex=M;this.SetCurrentPosition=L;this.On=O;this.Off=P;this.RotateToIndex=R.RotateToIndex;this.Reset=D;this.Disable=F;this.Enable=Q;this.Destroy=H}function G(V){var Bb=[];Bb.push({top:"-8px",left:"17px"});Bb.push({top:"17px",left:"42px"});Bb.push({top:"42px",left:"17px"});Bb.push({top:"17px",left:"-8px"});var Cg=document.createElement("div");Cg.setAttribute("id","MSVE_obliqueCompassContainer");Cg.title=L_ObliqueCompassSelectDirection_Text;var Ck=new CI("MSVE_obliqueCompassPointN","N",0),Cd=Ck.GetElement();Cd.attachEvent("onclick",W);Cd.attachEvent("onmouseover",R);Cd.attachEvent("onmouseout",Ce);var Ci=new CI("MSVE_obliqueCompassPointE","E",1),Cb=Ci.GetElement();Cb.attachEvent("onclick",T);Cb.attachEvent("onmouseover",L);Cb.attachEvent("onmouseout",Ce);var Cj=new CI("MSVE_obliqueCompassPointS","S",2),Cc=Cj.GetElement();Cc.attachEvent("onclick",U);Cc.attachEvent("onmouseover",P);Cc.attachEvent("onmouseout",Ce);var Ch=new CI("MSVE_obliqueCompassPointW","W",3),Ca=Ch.GetElement();Ca.attachEvent("onclick",N);Ca.attachEvent("onmouseover",J);Ca.attachEvent("onmouseout",Ce);var CZ=document.createElement("div");CZ.id="MSVE_navAction_obliqueCompassArrow";Cg.appendChild(Cd);Cg.appendChild(Cb);Cg.appendChild(Cc);Cg.appendChild(Ca);Cg.appendChild(CZ);V.appendChild(Cg);Y();function c(A){if(A<0){A=4-Math.abs(A)}return A}function CY(A,E,C){var b=A.GetCurrentPositionIndex(),F,I=[];I[Ck.GetCurrentPositionIndex()]=L_North_Text;I[Cj.GetCurrentPositionIndex()]=L_South_Text;I[Ci.GetCurrentPositionIndex()]=L_East_Text;I[Ch.GetCurrentPositionIndex()]=L_West_Text;if(E){F=E==Msn.VE.BirdsEyeSearchSpinDirection.CounterclockwiseSpin;if(b+E!=2){var H;switch(E){case -1:switch(b){case 0:case 2:H=[3];break;case 1:H=[3,2]}break;case 1:switch(b){case 0:case 2:H=[1];break;case 3:H=[1,2]}}if(H){var D=L_ObliqueSkippingOneDirection_Text;if(b==0){D=L_ObliqueNoImageryInRequestedDirection_Text}if(H.length==2){D=L_ObliqueSkippingTwoDirections_Text}if(typeof ShowMessage!="undefined"){ShowMessage(D.replace("%1",I[b]).replace("%2",I[H[0]]).replace("%3",I[H[1]]))}}}}else{F=b!=3;if(C){if(b==0){if(typeof ShowMessage!="undefined"){ShowMessage(L_ObliqueModeImageNotAvailable_Text)}}else{if(typeof ShowMessage!="undefined"){ShowMessage(L_ObliqueNoImageryInRequestedDirection_Text.replace("%1",I[b]).replace("%2",I[0]))}}}}Ci.SetCurrentPositionIndex(c(Ci.GetCurrentPositionIndex()-b));Ch.SetCurrentPositionIndex(c(Ch.GetCurrentPositionIndex()-b));Ck.SetCurrentPositionIndex(c(Ck.GetCurrentPositionIndex()-b));Cj.SetCurrentPositionIndex(c(Cj.GetCurrentPositionIndex()-b));Ck.RotateToIndex(2-Ck.GetCurrentPositionIndex()<0?Ck.GetCurrentPositionIndex():2-Ck.GetCurrentPositionIndex(),F);Ci.RotateToIndex(2-Ci.GetCurrentPositionIndex()<0?Ci.GetCurrentPositionIndex():2-Ci.GetCurrentPositionIndex(),F);Cj.RotateToIndex(2-Cj.GetCurrentPositionIndex()<0?Cj.GetCurrentPositionIndex():2-Cj.GetCurrentPositionIndex(),F);Ch.RotateToIndex(2-Ch.GetCurrentPositionIndex()<0?Ch.GetCurrentPositionIndex():2-Ch.GetCurrentPositionIndex(),F)}function Cf(A){switch(A){case 0:Ce();break;case 1:B();break;case 2:Z();break;case 3:X()}}function Ce(){CZ.className="MSVE_obliqueCompassArrowU"}function Z(){CZ.className="MSVE_obliqueCompassArrowD"}function B(){CZ.className="MSVE_obliqueCompassArrowR"}function X(){CZ.className="MSVE_obliqueCompassArrowL"}function U(){if(Bm.GetDashboard()&&Bm.GetDashboard().SetLastRotationDirection){Bm.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}CY(Cj);Cf(0);var A=Bm.GetObliqueScene();if(A){if(A.GetOrientation()!=Msn.VE.Orientation.South){Bm.SetObliqueOrientation("South",null,true)}}}function W(){if(Bm.GetDashboard()&&Bm.GetDashboard().SetLastRotationDirection){Bm.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}CY(Ck);Cf(0);var A=Bm.GetObliqueScene();if(A){if(A.GetOrientation()!=Msn.VE.Orientation.North){Bm.SetObliqueOrientation("North",null,true)}}}function T(){if(Bm.GetDashboard()&&Bm.GetDashboard().SetLastRotationDirection){Bm.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}CY(Ci);Cf(0);var A=Bm.GetObliqueScene();if(A){if(A.GetOrientation()!=Msn.VE.Orientation.East){Bm.SetObliqueOrientation("East",null,true)}}}function N(){if(Bm.GetDashboard()&&Bm.GetDashboard().SetLastRotationDirection){Bm.GetDashboard().SetLastRotationDirection(Msn.VE.BirdsEyeSearchSpinDirection.NoSpin)}CY(Ch);Cf(0);var A=Bm.GetObliqueScene();if(A){if(A.GetOrientation()!=Msn.VE.Orientation.West){Bm.SetObliqueOrientation("West",null,true)}}}function P(){Cf(Cj.GetCurrentPositionIndex())}function L(){Cf(Ci.GetCurrentPositionIndex())}function J(){Cf(Ch.GetCurrentPositionIndex())}function R(){Cf(Ck.GetCurrentPositionIndex())}function M(){Cg.style.display="none"}function K(){Cg.style.display="block"}function Y(A,C){var D=Bm.GetObliqueScene();if(!D){return }var F=D.GetOrientation(),E;switch(F){case"North":E=Ck;break;case"South":E=Cj;break;case"East":E=Ci;break;case"West":E=Ch}CY(E,A,C);Cf(0);if(F!=Msn.VE.Orientation.North){Ck.Enable()}else{Ck.Disable()}if(F!=Msn.VE.Orientation.South){Cj.Enable()}else{Cj.Disable()}if(F!=Msn.VE.Orientation.East){Ci.Enable()}else{Ci.Disable()}if(F!=Msn.VE.Orientation.West){Ch.Enable()}else{Ch.Disable()}}function O(){Ck.Destroy();Ci.Destroy();Cj.Destroy();Ch.Destroy();Cd.detachEvent("onclick",W);Cd.detachEvent("onmouseover",R);Cd.detachEvent("onmouseout",Ce);Cb.detachEvent("onclick",T);Cb.detachEvent("onmouseover",L);Cb.detachEvent("onmouseout",Ce);Cc.detachEvent("onclick",U);Cc.detachEvent("onmouseover",P);Cc.detachEvent("onmouseout",Ce);Ca.detachEvent("onclick",N);Ca.detachEvent("onmouseover",J);Ca.detachEvent("onmouseout",Ce);Cg=null}function Q(A){Ck.SetRadius(A);Cj.SetRadius(A);Ci.SetRadius(A);Ch.SetRadius(A)}function S(){return Ck.GetRadius()}this.Hide=M;this.Show=K;this.UpdateFromMap=Y;this.SetRadius=Q;this.GetRadius=S;this.Destroy=O}function CO(T){var Q=document.createElement("div"),R=document.createElement("div"),U=document.createElement("div"),S=document.createElement("div"),A=0,D=0,N=false;this.Init=function(){S.className="MSVE_ZoomBar_minus";S.id="MSVE_navAction_orthoZoomBar_minus";S.title=L_ZoomBarMinusToolTip_Text;S.unselectable="on";S.attachEvent("onclick",L);pseudoHover(S);U.className="MSVE_ZoomBar_slider";U.id="MSVE_navAction_orthoZoomBar_slider";U.title=L_ZoomBarSliderToolTip_Text;U.unselectable="on";U.attachEvent("onmousedown",I);U.attachEvent("onmousemove",H);U.attachEvent("onmouseup",F);U.attachEvent("onclick",IgnoreEvent);pseudoHover(U);R.className="MSVE_OrthoZoomBar_bar";R.unselectable="on";R.appendChild(U);R.attachEvent("onclick",E);Q.className="MSVE_ZoomBar_plus";Q.id="MSVE_navAction_orthoZoomBar_plus";Q.title=L_ZoomBarPlusToolTip_Text;Q.unselectable="on";Q.attachEvent("onclick",K);pseudoHover(Q);T.className="MSVE_ZoomBar";T.id="MSVE_OrthoZoomBar";T.appendChild(S);T.appendChild(R);T.appendChild(Q);T.attachEvent("onmousedown",IgnoreEvent);T.attachEvent("onmouseup",IgnoreEvent);T.attachEvent("onclick",IgnoreEvent);T.attachEvent("ondblclick",IgnoreEvent);O()};this.Destroy=function(){S.detachEvent("onclick",L);U.detachEvent("onmousedown",I);U.detachEvent("onmousemove",H);U.detachEvent("onmouseup",F);U.detachEvent("onclick",IgnoreEvent);R.detachEvent("onclick",E);Q.detachEvent("onclick",K);T.detachEvent("onmousedown",IgnoreEvent);T.detachEvent("onmousedown",IgnoreEvent);T.detachEvent("onclick",IgnoreEvent);T.detachEvent("ondblclick",IgnoreEvent);S=U=R=Q=null};function B(){T.style.display="block"}function C(){T.style.display="none"}function M(){var V=g(T).getScreenPosition();A=V.x;D=V.y}function I(V){V=GetEvent(V);CancelEvent(V);M();if(U.setCapture){U.setCapture()}N=true;return false}function H(V){V=GetEvent(V);CancelEvent(V);if(N){U.style.top=P(Gimme.Screen.getMousePosition(V).y)+"px"}return false}function F(V){V=GetEvent(V);CancelEvent(V);if(U.releaseCapture){U.releaseCapture()}N=false;J(P(Gimme.Screen.getMousePosition(V).y));O();return false}function K(){Bm.ZoomIn()}function L(){Bm.ZoomOut()}function E(V){V=GetEvent(V);CancelEvent(V);M();J(P(Gimme.Screen.getMousePosition(V).y));return false}function P(V){V-=D+S.offsetHeight+U.offsetHeight;var W=R.offsetHeight-U.offsetHeight;if(V<0){V=0}else{if(V>W){V=W}}return V}function J(W){var V=R.offsetHeight-U.offsetHeight,X=1+MathRound((V-W)/V*18);Bm.SetZoom(X)}function O(){var V=R.offsetHeight-U.offsetHeight,W=V-(Bm.GetZoomLevel()-1)/18*V;U.style.top=W+"px"}this.UpdateFromMap=O;this.Show=B;this.Hide=C}function BI(){var K=document.createElement("div"),L=document.createElement("div"),M=document.createElement("div"),Q=false,O=L,P=M;this.maxZoomLevel=21;this.minZoomLevel=1;this.Init=function(){L.className="MSVE_ZoomBar_plus";L.id="MSVE_navAction_tinyZoomBar_plus";L.title=L_ZoomBarPlusToolTip_Text;L.unselectable="on";M.className="MSVE_ZoomBar_minus";M.id="MSVE_navAction_tinyZoomBar_minus";M.title=L_ZoomBarMinusToolTip_Text;M.unselectable="on";Bm.AttachEvent("onendzoom",J);K.className="MSVE_ZoomBar";K.id="MSVE_TinyZoomBar";K.appendChild(L);K.appendChild(M);return K};this.HookupPlusMinusEvents=function(R,S){E(R);I(S)};function E(R){if(R){O=R}O.attachEvent("onmousedown",C);O.attachEvent("onmouseup",N);O.attachEvent("onmouseout",N)}this.HookupPlusEvents=E;function I(R){if(R){P=R}P.attachEvent("onmousedown",F);P.attachEvent("onmouseup",N);P.attachEvent("onmouseout",N)}this.HookupMinusEvents=I;function D(){if(O!=null){O.detachEvent("onmousedown",C);O.detachEvent("onmouseup",N);O.detachEvent("onmouseout",N)}if(Q=="in"){Q=false}}this.UnhookPlusEvents=D;function H(){if(P!=null){P.detachEvent("onmousedown",F);P.detachEvent("onmouseup",N);P.detachEvent("onmouseout",N)}if(Q=="out"){Q=false}}this.UnhookMinusEvents=H;this.Destroy=function(){D();H();Bm.DetachEvent("onendzoom",J);L=M=O=P=null};function A(){if(Bm.GetMapMode()==Msn.VE.MapActionMode.Mode3D){return true}else{return Bm.IsAnimationEnabled()}}function C(){Q="in";Bm.ZoomIn()}function J(){window.setTimeout(B,A()?1:500)}function B(){if(Q=="in"&&Bm.GetZoomLevel()<21){Bm.ZoomIn(false)}else{if(Q=="out"&&Bm.GetZoomLevel()>1){Bm.ZoomOut(false)}}}function F(){Q="out";Bm.ZoomOut()}function N(){Q=false}this.GetPlus=function(){return L};this.GetMinus=function(){return M}}var Bo=AV,Be=[];Be[Bo.Style]={Id:Bo.Style,InitialClass:null,OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[Bo.Road,Bo.Aerial,Bo.Hybrid],Text:null};Be[Bo.Road]={Id:Bo.Road,InitialClass:"MSVE_MapStyle",OnClickFunction:CR,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:BS,Enabled:MapControl.Features.MapStyle.Road,Title:L_NavActionRoadToolTip_Text,Children:null,Text:L_NavActionRoad_Text};Be[Bo.Aerial]={Id:Bo.Aerial,InitialClass:"MSVE_MapStyle",OnClickFunction:CP,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:BS,Enabled:MapControl.Features.MapStyle.Aerial,Title:L_NavActionAerialToolTip_Text,Children:null,Text:L_NavActionAerial_Text};Be[Bo.Hybrid]={Id:Bo.Hybrid,InitialClass:"MSVE_MapStyle",OnClickFunction:CD,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:BS,Enabled:MapControl.Features.MapStyle.Hybrid,Title:L_NavActionHybridToolTip_Text,Children:null,Text:L_NavActionHybrid_Text};Be[Bo.Mode]={Id:Bo.Mode,InitialClass:"MSVE_modeCell",OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[Bo.Mode2D,Bo.Mode3D],Text:null};Be[Bo.Mode2D]={Id:Bo.Mode2D,InitialClass:"MSVE_MapMode",OnClickFunction:BC,StyleUpdateEvent:"oninitmode",StyleUpdateFunction:Bq,Enabled:true,Title:L_NavActionFlatlandToolTip_Text,Children:null,Text:L_NavActionFlatland_Text};Be[Bo.Mode3D]={Id:Bo.Mode3D,InitialClass:"MSVE_MapMode",OnClickFunction:BE,StyleUpdateEvent:"oninitmode",StyleUpdateFunction:Bq,Enabled:MapControl.Features.MapStyle.View3D,Title:L_NavActionView3DToolTip_Text,Children:null,Text:L_NavActionView3D_Text};Be[Bo.View]={Id:Bo.View,InitialClass:null,OnClickFunction:null,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:null,Children:[Bo.Ortho,Bo.Oblique,Bo.StreetSide],Text:null};Be[Bo.Ortho]={Id:Bo.Ortho,InitialClass:"MSVE_MapStyle",OnClickFunction:BR,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:BS,Enabled:true,Title:L_NavActionOrthoToolTip_Text,Children:null,Text:null};Be[Bo.Oblique]={Id:Bo.Oblique,InitialClass:"MSVE_MapStyle",OnClickFunction:CC,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:BS,Enabled:false,Title:L_NavActionObliqueToolTip_Text,Children:null,Text:null};Be[Bo.StreetSide]={Id:Bo.StreetSide,InitialClass:"MSVE_MapStyle",OnClickFunction:B7,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:BS,Enabled:false,Title:L_NavActionStreetSideToolTip_Text,Children:null,Text:null};Be[Bo.ShowLabels]={Id:Bo.ShowLabels,InitialClass:"MSVE_MapStyle",OnClickFunction:BK,StyleUpdateEvent:"onchangemapstyle",StyleUpdateFunction:BS,Enabled:true,Title:L_NavActionShowLabels_Text,Children:null,Text:L_NavActionLabels_Text};Be[Bo.Traffic]={Id:Bo.Traffic,InitialClass:"MSVE_MapStyle",OnClickFunction:CU,StyleUpdateEvent:null,StyleUpdateFunction:null,Enabled:true,Title:L_NavActionShowTrafficToolTip_Text,Children:null,Text:L_NavActionTraffic_Text};this.ObliqueFunctions=[];this.ObliqueFunctions.ObliqueImageryIn3D={ObliqueClickFunction:CT,Title:L_NavActionShowObliqueToolTip_Text,DependsOnObliqueAvailability:true};this.ObliqueFunctions.ObliqueTiltIn3D={ObliqueClickFunction:CV,Title:L_NavAction3DObliqueToolTip_Text,DependsOnObliqueAvailability:false};var Bj=this,Bn=[],Bh=Msn.VE.DashboardStates.MapMode.Flatland,Bl=Msn.VE.DashboardStates.MapView.Ortho,Bi=Msn.VE.DashboardStates.MapStyle.Road;this.orthoZoom=null;var Ba;this.obliqueCompass=null;this.obliqueZoom=null;this.displaying3DNotification=false;var BM=null;this.Oblique3DFunctionality=this.ObliqueFunctions.ObliqueImageryIn3D;var BU=document.createElement("div");BU.id="MSVE_navAction_palette";document.body.appendChild(BU);var CA=false,CM=false,Bx=19,Bz=1,Bc=true,By=false,BT=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin,B3;for(B3 in BQ){if(BQ.hasOwnProperty(B3)){B4(BQ[B3])}}function CF(){var A=$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)&&(Bm.IsObliqueAvailable()||Bm.IsMapViewOblique());if(A){Bg(Bo.Oblique,true);if(Bn[Bo.ObliqueNotification]&&!Bm.IsMapViewOblique()&&!g(Bn[Bo.Oblique]).hasClass("MSVE_selected")){BO()}}else{Bg(Bo.Oblique,false);if(Bn[Bo.ObliqueNotification]){BV()}}Bt();if(Bm.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){Bv()}else{Bw()}}function CQ(){var A;for(A in BQ){if(BQ.hasOwnProperty(A)){B9(BQ[A])}}document.body.removeChild(BU);BU=null}function B4(C){switch(C){case Bo.OrthoZoom:Bn[C]=document.createElement("div");Bj.orthoZoom=new CO(Bn[C]);Bj.orthoZoom.Init();Bm.AttachEvent("onendzoom",BP);BU.appendChild(Bn[C]);BP();return ;case Bo.ObliqueZoom:Bn[C]=document.createElement("div");CM=true;Bn[C].id=C;BU.appendChild(Bn[C]);return ;case Bo.TinyZoom:Ba=new BI;Bn[C]=Ba.Init();Bm.AttachEvent("onendzoom",BP);BP();return ;case Bo.ObliqueCompass:Bn[C]=document.createElement("div");Bn[C].id=C;CA=true;return ;case Bo.ObliqueNotification:BG();return ;case Bo.ThreeDUpdatedNotification:BX();return ;case Bo.Oblique:Bm.AttachEvent("onve3dphotostatechanged",CX)}var D=Be[C],B=document.createElement("div");Bn[D.Id]=B;B.id=D.Id;B.enabled=D.Enabled;B.classRecipients=[B];if(D.Text!=null){B.innerText=D.Text}if(D.OnClickFunction!=null&&D.Enabled==true){B.attachEvent("onclick",D.OnClickFunction)}if(D.StyleUpdateEvent!=null&&D.StyleUpdateFunction!=null){Bm.AttachEvent(D.StyleUpdateEvent,D.StyleUpdateFunction)}if(D.InitialClass){B.className=D.InitialClass;if(!B.enabled){B.className+="_disabled"}}if(D.Children!=null){var A;for(A in D.Children){if(D.Children.hasOwnProperty(A)){B.appendChild(B4(D.Children[A]))}}}else{pseudoHover(B)}switch(C){case Bo.Oblique:case Bo.ObliqueCompass:Bm.AttachEvent("onobliqueenter",CL);Bm.AttachEvent("onobliqueleave",B6);Bm.AttachEvent("onendmapstyleoblique",BJ);Bm.AttachEvent("onobliquechange",BF);Bm.AttachEvent("obliquerequestunavailable",BB);break;case Bo.Traffic:Bm.AttachEvent("onchangetraffic",BL);BL()}return B}function B9(E){switch(E){case Bo.OrthoZoom:Bj.orthoZoom.Destroy();Bn[E]=null;Bm.DetachEvent("onendzoom",BP);try{BU.removeChild(Bn[E])}catch(A){}return ;case Bo.ObliqueZoom:try{BU.removeChild(Bn[E])}catch(A){}if(Bj.obliqueZoom){Bj.obliqueZoom.Destroy();Bj.obliqueZoom=null}case Bo.TinyZoom:Ba.Destroy();Bn[E]=null;return ;case Bo.ObliqueCompass:if(CA&&Bj.obliqueCompass){Bj.obliqueCompass.onclick=null;Bj.obliqueCompass.Destroy();Bj.obliqueCompass=null}return ;case Bo.ObliqueNotification:Bn[Bo.ObliqueNotification].detachEvent("onclick",B1);return ;case Bo.ThreeDUpdatedNotification:Bn[Bo.ThreeDUpdatedNotification]=null;return ;case Bo.Traffic:Bm.DetachEvent("onchangetraffic",BL)}var B=Bn[E];if(B==null){return }var F=Be[E];if(F.Children!=null){var D,C;for(C in F.Children){if(F.Children.hasOwnProperty(C)){D=F.Children[C];try{B.removeChild(Bn[D])}catch(A){}B9(D)}}}if(F.OnClickFunction!=null){B.detachEvent("onclick",F.OnClickFunction)}try{if(Bm&&F.StyleUpdateEvent!=null&&F.StyleUpdateFunction!=null){Bm.DetachEvent(F.StyleUpdateEvent,F.StyleUpdateFunction)}}catch(A){}Bn[F.Id]=null}function BG(){Bn[Bo.ObliqueNotification]=document.createElement("div");Bn[Bo.ObliqueNotification].id=Bo.ObliqueNotification;Bn[Bo.ObliqueNotification].attachEvent("onclick",B1);Bn[Bo.ObliqueNotification].innerHTML+='<div id="MSVE_obliqueNotifyBeak" ></div> <div id="MSVE_obliqueNotifyContent"> <div id="MSVE_obliqueNotifyText" >'+L_DashboardBirdsEyeText_Text+'</div><img id="MSVE_obliqueNotifyImg" /></div>'}function BX(){Bn[Bo.ThreeDUpdatedNotification]=document.createElement("div");Bn[Bo.ThreeDUpdatedNotification].id=Bo.ThreeDUpdatedNotification;Bn[Bo.ThreeDUpdatedNotification].innerHTML+='<div id="MSVE_threeDNotifyIcon">&nbsp;</div> <div id="MSVE_threeDNotifyText">'+L_Dashboard3DInstalled_Text+"</div>"}function CR(){CJ()}function CJ(){if(Bi==Msn.VE.DashboardStates.MapStyle.Road&&Bl==Msn.VE.DashboardStates.MapView.Ortho){return }Bi=Msn.VE.DashboardStates.MapStyle.Road;Bl=Msn.VE.DashboardStates.MapView.Ortho;BZ(Bh+Bl+Bi)}function CP(){if(Bn[Bo.ShowLabels]){Bg(Bo.ShowLabels,true);if(Bc){Br()}else{Bs()}}else{Bs()}}function Bs(){if(Bi==Msn.VE.DashboardStates.MapStyle.Aerial&&Bl==Msn.VE.DashboardStates.MapView.Ortho){return }Bi=Msn.VE.DashboardStates.MapStyle.Aerial;Bl=Msn.VE.DashboardStates.MapView.Ortho;BZ(Bh+Bl+Bi)}function CD(){Br()}function Br(){if(Bi==Msn.VE.DashboardStates.MapStyle.Hybrid&&Bl==Msn.VE.DashboardStates.MapView.Ortho){return }Bi=Msn.VE.DashboardStates.MapStyle.Hybrid;Bl=Msn.VE.DashboardStates.MapView.Ortho;BZ(Bh+Bl+Bi)}function BR(){if(Bl==Msn.VE.DashboardStates.MapView.Ortho&&Bh==Msn.VE.DashboardStates.MapMode.Flatland){return }Bl=Msn.VE.DashboardStates.MapView.Ortho;if(Bh==Msn.VE.DashboardStates.MapMode.Flatland){switch(Bi){case Msn.VE.DashboardStates.MapStyle.Aerial:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){BZ(Bh+Bl+Bi)}else{CJ()}break;case Msn.VE.DashboardStates.MapStyle.Hybrid:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){BZ(Bh+Bl+Bi)}else{CJ()}break;default:BZ(Bh+Bl+Bi)}}else{BZ(Bh+Bl)}BW()}function B1(A){if(Bh==Msn.VE.DashboardStates.MapMode.View3D&&g(Bn[Bo.Oblique]).hasClass("MSVE_selected")){BV();A.cancelBubble=true;return }CC()}function CC(){if(typeof Bn[Bo.ObliqueNotification]!="undefined"&&Bn[Bo.ObliqueNotification]){BV()}if(Bh==Msn.VE.DashboardStates.MapMode.View3D){Bj.Oblique3DFunctionality.ObliqueClickFunction()}else{CK()}}var B5=null;function CT(){var B=new Date;if(B5!=null){if(B.getTime()-B5.getTime()<1000){return }}B5=B;var C=!g(Bn[Bo.Oblique]).hasClass("MSVE_selected");Bm.Show3DBirdseye(C,Bi==Msn.VE.DashboardStates.MapStyle.Road||Bc);var A=C?"RequestLayerBirdsEyeOn":"RequestLayerBirdsEyeOff"}var BY;function CK(){if(Bl===Msn.VE.DashboardStates.MapView.Oblique){return }Bl=Msn.VE.DashboardStates.MapView.Oblique;BN();if(Bc){Bi=Msn.VE.DashboardStates.MapStyle.Hybrid}else{Bi=Msn.VE.DashboardStates.MapStyle.Aerial}if(typeof Msn.VE.API=="undefined"){Bk()}else{CE()}}function Bk(){if(!BY){var A=$ID("msve_mapContainer");BY=document.createElement("div");BY.id="animator";A.appendChild(BY)}BY.style.display="block";BY.className="zoom_animation";window.setTimeout(CE,2000)}function CE(){if(BY){BY.parentNode.removeChild(BY);BY=null}if(Bm.IsDragging()||Bm.IsZooming()){window.setTimeout(CE,250);return }BZ(Bh+Bl+Bi)}function CV(){CW(Msn.VE.DashboardStates.MapMode.View3D+Msn.VE.DashboardStates.MapView.Oblique)}function B7(){if(Bl==Msn.VE.DashboardStates.MapView.StreetSide&&Bh==Msn.VE.DashboardStates.MapMode.Flatland){return }Bl=Msn.VE.DashboardStates.MapView.StreetSide;BZ(Bh+Bl);BH()}function BK(){if(Bi==Msn.VE.DashboardStates.MapStyle.Aerial){Bc=true;Bi=Msn.VE.DashboardStates.MapStyle.Hybrid}else{if(Bi==Msn.VE.DashboardStates.MapStyle.Hybrid){Bc=false;Bi=Msn.VE.DashboardStates.MapStyle.Aerial}}BZ(Bh+Bl+Bi)}function BC(){Bm.EnableMode(Msn.VE.MapActionMode.Mode2D)}function BE(){if(typeof Bn[Bo.ThreeDUpdatedNotification]!="undefined"&&Bn[Bo.ThreeDUpdatedNotification]){CG()}if(!Bm.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){if(typeof ShowMessage!="undefined"){ShowMessage(L_3DLoading_Text);window.setTimeout(View3DSwitch,200)}else{Bm.EnableMode(Msn.VE.MapActionMode.Mode3D)}}}function BL(){if(VE_TrafficManager.turnedOn){g(Bn[Bo.Traffic]).addClass("MSVE_selected");Bn[Bo.Traffic].title=L_NavActionHideTrafficToolTip_Text}else{g(Bn[Bo.Traffic]).removeClass("MSVE_selected");Bn[Bo.Traffic].title=L_NavActionShowTrafficToolTip_Text}}function CU(){if(VE_TrafficManager.turnedOn){VE_TrafficManager.ClearTraffic()}else{for(var A in Msn.VE.API.Globals.vemapinstances){if(Msn.VE.API.Globals.vemapinstances[A] instanceof VEMap&&Msn.VE.API.Globals.vemapinstances[A].vemapcontrol){VE_TrafficManager.m_vemap=Msn.VE.API.Globals.vemapinstances[A];break}}VE_TrafficManager.turnedOn=true;VE_TrafficManager.showTrafficFlow=true;VE_TrafficManager.showIncidents=true;VE_TrafficManager.showConstructionIncidents=true;VE_TrafficManager.markets=[];VE_TrafficManager.incidents=[];VE_TrafficManager.m_vemap.ShowTrafficLegend();VE_TrafficManager.m_vemap.SetTrafficLegendText(L_MapLegendAndPopupLink_Text);window.setTimeout(VE_TrafficManager.GetMarkets,100)}BL()}function CX(A){if(A.enabled=="1"){g(Bn[Bo.Oblique]).addClass("MSVE_selected");Bn[Bo.Oblique].title=L_NavActionHideObliqueToolTip_Text}else{g(Bn[Bo.Oblique]).removeClass("MSVE_selected");Bn[Bo.Oblique].title=L_NavActionShowObliqueToolTip_Text}}function BS(A){Bt(A.view.mapStyle)}function Bq(A){if(A==Msn.VE.MapActionMode.Mode3D){Bv()}else{Bw()}}function Bv(){if(Bh==Msn.VE.DashboardStates.MapMode.View3D){return }Bh=Msn.VE.DashboardStates.MapMode.View3D;if(typeof Bn[Bo.Mode]!="undefined"&&Bn[Bo.Mode]!=null){g(Bn[Bo.Mode].classRecipients).swapClass("MSVE_FlatlandMapMode","MSVE_View3DMapMode")}Bg(Bo.StreetSide,true);Bg(Bo.Road,true);Bg(Bo.Aerial,true);Bg(Bo.Hybrid,true);if(!Bj.Oblique3DFunctionality.DependsOnObliqueAvailability){Bg(Bo.Oblique,true)}else{if(Bn[Bo.ObliqueNotification]!=null&&Bn[Bo.ObliqueNotification].enabled&&!g(Bn[Bo.Oblique]).hasClass("MSVE_selected")){BO()}BW()}if(typeof Bn[Bo.Ortho]!="undefined"&&Bn[Bo.Ortho]!=null){Bn[Bo.Ortho].title=L_NavAction3DOrthoToolTip_Text}if(typeof Bn[Bo.Oblique]!="undefined"&&Bn[Bo.Oblique]!=null){Bn[Bo.Oblique].title=Bj.Oblique3DFunctionality.Title;if(Bn[Bo.Oblique].enabled&&!g(Bn[Bo.Oblique]).hasClass("MSVE_selected")){BO()}}if(typeof Bn[Bo.StreetSide]!="undefined"&&Bn[Bo.StreetSide]!=null){Bn[Bo.StreetSide].title=L_NavAction3DStreetSideToolTip_Text}var A=Bm.GetDashboard().GetShimmedElements(),B;for(B=0;B<A.length;B++){mvcViewFacade.UpdateShimIfSupported(A[B])}}function Bw(){Bh=Msn.VE.DashboardStates.MapMode.Flatland;if(typeof Bn[Bo.Mode]!="undefined"&&Bn[Bo.Mode]!=null){g(Bn[Bo.Mode].classRecipients).swapClass("MSVE_View3DMapMode","MSVE_FlatlandMapMode")}if(typeof Bn[Bo.Ortho]!="undefined"&&Bn[Bo.Ortho]!=null){Bn[Bo.Ortho].title=L_NavActionOrthoToolTip_Text}if(typeof Bn[Bo.Oblique]!="undefined"&&Bn[Bo.Oblique]!=null){Bn[Bo.Oblique].title=L_NavActionObliqueToolTip_Text}g(Bn[Bo.Oblique]).removeClass("MSVE_selected");photoState=0;if($MVEM.IsEnabled(MapControl.Features.MapStyle.Road)){Bg(Bo.Road,true)}else{Bg(Bo.Road,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){Bg(Bo.Aerial,true)}else{Bg(Bo.Aerial,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){Bg(Bo.Hybrid,true)}else{Bg(Bo.Hybrid,false)}if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){Bm.GetObliqueAvailability("OnFlatlandModeUpdateUIObliqueReturned",B2);return }else{B2(false)}}function B2(A){if(A){Bg(Bo.Oblique,true);if(Bj.obliqueZoom!=null){Bj.obliqueZoom.UpdateFromMap()}}else{Bg(Bo.Oblique,false);Bl=Msn.VE.DashboardStates.MapView.Ortho;BW()}switch(Bl){case Msn.VE.DashboardStates.MapView.Oblique:if(A&&$MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){BZ(Bh+Bl)}else{BR()}break;case Msn.VE.DashboardStates.MapView.StreetSide:BR();break;case Msn.VE.DashboardStates.MapView.Ortho:switch(Bi){case Msn.VE.DashboardStates.MapStyle.Aerial:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Aerial)){BZ(Bh+Bl+Bi)}else{CJ()}break;case Msn.VE.DashboardStates.MapStyle.Hybrid:if($MVEM.IsEnabled(MapControl.Features.MapStyle.Hybrid)){BZ(Bh+Bl+Bi)}else{CJ()}break;default:BZ(Bh+Bl+Bi)}break;default:BR()}}function BP(){if(Bj.orthoZoom){Bj.orthoZoom.UpdateFromMap()}if(Bj.obliqueZoom){Bj.obliqueZoom.UpdateFromMap()}var A=null,B=null;if(Ba){var C=Ba.GetPlus();if(C){A=g([C])}var D=Ba.GetMinus();if(D){B=g([D])}}if(Bm.IsMapViewOrtho()&&Bm.GetZoomLevel()==Bx||Bm.IsMapViewOblique()&&Bm.GetZoomLevel()==2){if(A){A.addClass("MSVE_ZoomBar_plus_disabled")}if(Ba){Ba.UnhookPlusEvents()}}else{if(Bm.GetZoomLevel()==Bz){if(B){B.addClass("MSVE_ZoomBar_minus_disabled")}if(Ba){Ba.UnhookMinusEvents()}}}if(Bm.IsMapViewOrtho()&&Bm.GetZoomLevel()!=Bx||Bm.IsMapViewOblique()&&Bm.GetZoomLevel()!=2){if(A&&A.hasClass("MSVE_ZoomBar_plus_disabled")){A.removeClass("MSVE_ZoomBar_plus_disabled");if(Ba){Ba.HookupPlusEvents()}}}if(Bm.GetZoomLevel()!=Bz){if(B&&B.hasClass("MSVE_ZoomBar_minus_disabled")){B.removeClass("MSVE_ZoomBar_minus_disabled");if(Ba){Ba.HookupMinusEvents()}}}}function CL(){if(Bm.IsMapViewOblique()){Bl=Msn.VE.DashboardStates.MapView.Oblique}if(Bh==Msn.VE.DashboardStates.MapMode.Flatland||Bh==Msn.VE.DashboardStates.MapMode.View3D&&Bj.Oblique3DFunctionality.DependsOnObliqueAvailability){Bg(Bo.Oblique,true);if(Bn[Bo.ObliqueNotification]&&!Bm.IsMapViewOblique()&&!g(Bn[Bo.Oblique]).hasClass("MSVE_selected")){BO()}}}function B6(){Bl=Msn.VE.DashboardStates.MapView.Ortho;BW();if(Bh==Msn.VE.DashboardStates.MapMode.Flatland||Bh==Msn.VE.DashboardStates.MapMode.View3D&&Bj.Oblique3DFunctionality.DependsOnObliqueAvailability){Bg(Bo.Oblique,false);BV()}}function BB(){if(Bm.IsObliqueAvailable()){Bj.obliqueCompass.UpdateFromMap(BT,true)}else{B6()}}function BJ(){if(Bm.IsObliqueAvailable()){Bl=Msn.VE.DashboardStates.MapView.Ortho;BW()}else{B6()}}function BF(){if($MVEM.IsEnabled(MapControl.Features.MapStyle.BirdsEye)){if(Bl!=Msn.VE.DashboardStates.MapView.Oblique){Bl=Msn.VE.DashboardStates.MapView.Oblique;Bg(Bo.Oblique,true);BN()}}else{Bl=Msn.VE.DashboardStates.MapView.Oblique;BR()}if(Bn[Bo.ObliqueNotification]){BV()}if(typeof Bj.obliqueCompass!="undefined"&&Bj.obliqueCompass!=null){Bj.obliqueCompass.UpdateFromMap(BT);BT=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}}function Bt(A){if(!A){A=Bm.GetMapStyle()}switch(A){case Msn.VE.MapStyle.Shaded:case Msn.VE.MapStyle.Road:Bl=Msn.VE.DashboardStates.MapView.Ortho;BW();Bi=Msn.VE.DashboardStates.MapStyle.Road;Bp();if(Bn[Bo.ShowLabels]){Bg(Bo.ShowLabels,false);g(Bn[Bo.ShowLabels]).addClass("MSVE_selected")}break;case Msn.VE.MapStyle.Aerial:Bl=Msn.VE.DashboardStates.MapView.Ortho;BW();Bi=Msn.VE.DashboardStates.MapStyle.Aerial;CB();Bc=false;if(Bn[Bo.ShowLabels]){Bg(Bo.ShowLabels,true);g(Bn[Bo.ShowLabels]).removeClass("MSVE_selected")}break;case Msn.VE.MapStyle.Hybrid:Bl=Msn.VE.DashboardStates.MapView.Ortho;BW();Bi=Msn.VE.DashboardStates.MapStyle.Hybrid;if(Bn[Bo.ShowLabels]){Bc=true;CB();Bg(Bo.ShowLabels,true);g(Bn[Bo.ShowLabels]).addClass("MSVE_selected")}else{Bu()}break;case Msn.VE.MapStyle.Oblique:Bl=Msn.VE.DashboardStates.MapView.Oblique;BN();Bi=Msn.VE.DashboardStates.MapStyle.Aerial;if(Bn[Bo.ShowLabels]){CB();Bc=false;Bg(Bo.ShowLabels,true);g(Bn[Bo.ShowLabels]).removeClass("MSVE_selected")}Bg(Bo.Oblique,true);break;case Msn.VE.MapStyle.ObliqueHybrid:Bl=Msn.VE.DashboardStates.MapView.Oblique;BN();Bi=Msn.VE.DashboardStates.MapStyle.Hybrid;if(Bn[Bo.ShowLabels]){Bu();Bc=true;Bg(Bo.ShowLabels,true);g(Bn[Bo.ShowLabels]).addClass("MSVE_selected")}Bg(Bo.Oblique,true)}if(Bh==Msn.VE.DashboardStates.MapMode.View3D&&g(Bn[Bo.Oblique]).hasClass("MSVE_selected")){if(Bi==Msn.VE.DashboardStates.MapStyle.Road){Bm.Show3DBirdseye(true,true)}else{Bm.Show3DBirdseye(true,Bc)}}if(Bn[Bo.ShowLabels]){if(Bc||Bi==Msn.VE.DashboardStates.MapStyle.Road){Bn[Bo.ShowLabels].title=L_NavActionHideLabels_Text}else{Bn[Bo.ShowLabels].title=L_NavActionShowLabels_Text}}}function Bp(){if(typeof Bn[Bo.Style]!="undefined"&&Bn[Bo.Style]!=null){var A;for(A=0;A<Bn[Bo.Style].classRecipients.length;A++){Bn[Bo.Style].classRecipients[A].className="MSVE_RoadMapStyle"}}}function CB(){if(typeof Bn[Bo.Style]!="undefined"&&Bn[Bo.Style]!=null){var A;for(A=0;A<Bn[Bo.Style].classRecipients.length;A++){Bn[Bo.Style].classRecipients[A].className="MSVE_AerialMapStyle"}}}function Bu(){if(typeof Bn[Bo.Style]!="undefined"&&Bn[Bo.Style]!=null){var A;for(A=0;A<Bn[Bo.Style].classRecipients.length;A++){Bn[Bo.Style].classRecipients[A].className="MSVE_HybridMapStyle"}}}function BW(){if(typeof Bn[Bo.View]!="undefined"&&Bn[Bo.View]!=null){var A=g(Bn[Bo.View].classRecipients);A.removeClass("MSVE_StreetSideView");A.removeClass("MSVE_ObliqueView");A.addClass("MSVE_OrthoView")}if(Bn[Bo.Traffic]!=null){Bg(Bo.Traffic,true);BL()}BT=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}function BN(){if(typeof Bn[Bo.View]!="undefined"&&Bn[Bo.View]!=null){var A=g(Bn[Bo.View].classRecipients);A.removeClass("MSVE_StreetSideView");A.removeClass("MSVE_OrthoView");A.addClass("MSVE_ObliqueView")}if(CA){if(Bj.obliqueCompass==null){Bj.obliqueCompass=new G(Bn[Bo.ObliqueCompass]);if(Bn[Bo.ObliqueCompass].radius){Bj.obliqueCompass.SetRadius(Bn[Bo.ObliqueCompass].radius)}Bj.obliqueCompass.onclick=function(){BT=Msn.VE.BirdsEyeSearchSpinDirection.NoSpin}}Bj.obliqueCompass.UpdateFromMap()}if(CM){if(Bj.obliqueZoom==null){Bj.obliqueZoom=new CS(Bn[Bo.ObliqueZoom]);Bj.obliqueZoom.Init()}Bj.obliqueZoom.UpdateFromMap()}if(Bn[Bo.Traffic]!=null&&Bh==Msn.VE.DashboardStates.MapMode.Flatland){Bg(Bo.Traffic,false)}}function BH(){if(typeof Bn[Bo.View]!="undefined"&&Bn[Bo.View]!=null){var A=g(Bn[Bo.View].classRecipients);A.removeClass("MSVE_OrthoView");A.removeClass("MSVE_ObliqueView");A.addClass("MSVE_StreetSideView")}}function BO(){if(!Bn[Bo.ObliqueNotification]){return }if(By){return }By=true;if(!Bj.displaying3DNotification){if(Bl!=Msn.VE.DashboardStates.MapView.Oblique){if(!BM){var A=g(Bn[Bo.ObliqueNotification]),E=A.select("img");for(var H=0;H<E.length&&!BM;H++){var F=E.element(H);if(F.id=="MSVE_obliqueNotifyImg"){BM=F}}}if(BM){BM.src=Bm.GetObliqueMode().GetMiddleTileFilename()}var J=Bn[Bo.Oblique];Bn[Bo.ObliqueNotification].style.display="block";var C=J.offsetLeft+J.offsetWidth/2-Bn[Bo.ObliqueNotification].offsetWidth/2,B=J.offsetTop+J.offsetHeight+4;g(Bn[Bo.ObliqueNotification]).setStyle("top",B+"px").setStyle("left",C+"px");var D=CH(),I;for(I=0;I<D.length;++I){mvcViewFacade.UpdateShimIfSupported(D[I])}C=B=J=null;window.setTimeout(BV,6000)}}}function B0(){if(!Bn[Bo.ThreeDUpdatedNotification]){return }BV();if(!Bj.displaying3DNotification){Bj.displaying3DNotification=true;var C=Bn[Bo.Mode3D];Bn[Bo.ThreeDUpdatedNotification].style.display="block";var B=C.offsetLeft-6,A=C.offsetTop+C.offsetHeight+4;g(Bn[Bo.ThreeDUpdatedNotification]).setStyle("top",A+"px").setStyle("left",B+"px");mvcViewFacade.UpdateShimIfSupported(Bn[Bo.ThreeDUpdatedNotification]);C=null;window.setTimeout(CG,6000)}}function BV(){Bn[Bo.ObliqueNotification].style.display="none";var A=CH(),B;for(B=0;B<A.length;++B){mvcViewFacade.UpdateShimIfSupported(A[B])}}function CG(){Bj.displaying3DNotification=false;Bn[Bo.ThreeDUpdatedNotification].style.display="none";mvcViewFacade.UpdateShimIfSupported(Bn[Bo.ThreeDUpdatedNotification])}function Bg(C,B){if(Bn[C]==null){return }if(Bn[C].enabled==B){return }Bn[C].enabled=B;var A=Be[C];if(A.InitialClass){if(B){g(Bn[C]).swapClass(A.InitialClass+"_disabled",A.InitialClass)}else{g(Bn[C]).swapClass(A.InitialClass,A.InitialClass+"_disabled")}}if(A.Title){Bn[C].title=A.Title}if(A.OnClickFunction){if(B){Bn[C].attachEvent("onclick",A.OnClickFunction)}else{Bn[C].detachEvent("onclick",A.OnClickFunction)}}}function BZ(A){if(A&Msn.VE.DashboardStates.MapView.Ortho||A&Msn.VE.DashboardStates.MapMode.View3D){if(A&Msn.VE.DashboardStates.MapStyle.Road){Bm.SetMapStyle("r")}else{if(A&Msn.VE.DashboardStates.MapStyle.Aerial){Bm.SetMapStyle("a")}else{if(A&Msn.VE.DashboardStates.MapStyle.Hybrid){Bm.SetMapStyle("h")}}}}if(A&Msn.VE.DashboardStates.MapMode.Flatland&&A&Msn.VE.DashboardStates.MapView.Oblique){if(A&Msn.VE.DashboardStates.MapStyle.Aerial&&Bm.GetMapStyle()!=Msn.VE.MapStyle.Oblique){Bc=false;if(Bn[Bo.ShowLabels]){Bg(Bo.ShowLabels,true);g(Bn[Bo.ShowLabels]).removeClass("MSVE_selected")}Bm.SetMapStyle(Msn.VE.MapStyle.Oblique)}else{if(A&Msn.VE.DashboardStates.MapStyle.Hybrid&&Bm.GetMapStyle()!=Msn.VE.MapStyle.ObliqueHybrid){Bc=true;if(Bn[Bo.ShowLabels]){Bg(Bo.ShowLabels,true);g(Bn[Bo.ShowLabels]).addClass("MSVE_selected")}Bm.SetMapStyle(Msn.VE.MapStyle.ObliqueHybrid)}}}}function CW(A){if(A&Msn.VE.DashboardStates.MapMode.View3D){if(A&Msn.VE.DashboardStates.MapView.Ortho){Bm.SetTilt(-90)}else{if(A&Msn.VE.DashboardStates.MapView.Oblique){Bm.SetTilt(-45)}else{if(A&Msn.VE.DashboardStates.MapView.StreetSide){Bm.SetTilt(-25)}}}}}function CH(){return[Bn[Bo.ObliqueNotification]]}function BD(A){return Bn[A]}function B8(){return Bn}function Bf(){return Ba}function CN(){return BT}function Bd(A){BT=A}this.SetMapViewState=function(A){Bl=A};this.GetMapViewState=function(){return Bl};this.SetMapModeState=function(A){Bh=A};this.GetMapModeState=function(){return Bh};this.SetLabelsState=function(A){Bc=A};this.GetLabelsState=function(){return Bc};this.GetLastRotationDirection=CN;this.SetLastRotationDirection=Bd;this.GetObliqueNotifierShimmedElements=CH;this.Init=CF;this.Create=B4;this.Destroy=CQ;this.DestroyControl=B9;this.GetControl=BD;this.GetControls=B8;this.GetTinyZoom=Bf;this.OnOrthoMapViewClick=BR;this.OnObliqueMapViewClick=CC;this.UpdateZoom=BP;this.SelectObliqueMapView=BN;this.SelectOrthoMapView=BW;this.DisplayObliqueNotification=BO;this.HideObliqueNotification=BV;this.DisplayThreeDUpdatedNotification=B0;this.HideThreeDUpdatedNotification=CG};function Ab(C,M,L,N){var O=document.createElement("div"),I=0,H=0,J=false,K=15;this.Init=function(){O.id="Compass";O.attachEvent("onmousedown",G);O.attachEvent("onmouseup",E);O.attachEvent("onmousemove",F);O.attachEvent("ondblclick",IgnoreEvent);O.title=L_NavActionCompassPan_Text;C.appendChild(O);if(isNaN(parseInt(M))){M=O.offsetWidth/2}if(isNaN(parseInt(L))){L=O.offsetHeight/2}if(isNaN(parseInt(N))){N=Math.min(M,L)}};this.Destroy=function(){O.detachEvent("onmousedown",G);O.detachEvent("onmouseup",E);O.detachEvent("onmousemove",F);O.detachEvent("ondblclick",IgnoreEvent);O=null};function G(P){P=GetEvent(P);CancelEvent(P);var T=g(O).getPagePosition();I=T.x;H=T.y;if(O.setCapture){O.setCapture()}var R=Gimme.Screen.getMousePosition(P).x-I-M,Q=Gimme.Screen.getMousePosition(P).y-H-L,S=Math.sqrt(R*R+Q*Q);if(S<N){R=Math.floor(R/N*K);Q=Math.floor(Q/N*K);A5.ContinuousPan(R,Q,0,true);J=true}return false}function F(R){R=GetEvent(R);CancelEvent(R);if(J){var Q=Gimme.Screen.getMousePosition(R).x-I-M,S=Gimme.Screen.getMousePosition(R).y-H-L,P=Math.sqrt(Q*Q+S*S);if(P<N){Q=Math.floor(Q/N*K);S=Math.floor(S/N*K);A5.ContinuousPan(Q,S,0,true)}}return false}function E(P){P=GetEvent(P);CancelEvent(P);if(O.releaseCapture){O.releaseCapture()}A5.StopContinuousPan();J=false;return false}function B(){O.style.display="none"}function A(){O.style.display="block"}function D(){return O}this.Hide=B;this.Show=A;this.GetElement=D}var A9=AV,A8=null,A4=null,Ac=null,A7=null,Ar=null,Ao=null,An=null,A6=null,Ay=null,Au=null,At=null,A3=null,A2=null,AB=null,A1=null,Aw=null,Av=null,Ax=null,A0=null,Az=null,Ap=null,Aq=null,AI=["North","East","South","West"],AL={North:0,East:1,South:2,West:3},Ak,Al,As,AS=150,AW=0.7,AF=0.9,AQ=1;function AA(){Ac=[A9.Mode,A9.View,A9.Style,A9.ShowLabels,A9.TinyZoom,A9.ObliqueNotification,A9.ObliqueCompass,A9.ThreeDUpdatedNotification];if($MVEM.IsEnabled(MapControl.Features.Traffic.ShowOnNavbar)){if(typeof VE_TrafficManager!="undefined"){Ac.push(A9.Traffic)}}A4=new Msn.VE.CommonControls(A5,Ac);A8=A4.GetControls();A8[A9.Oblique].innerText=L_DashboardBirdsEye_Text;A7=document.createElement("div");A7.id="MSVE_navAction_container";A7.className="MSVE_Dashboard_V6";if(Msn.VE.API){g(A7).addClass("MSVE_API")}A2=document.createElement("div");A2.id="MSVE_navAction_styleGroup";A6=document.createElement("div");A6.id="MSVE_navAction_topBar";A8[A9.View].classRecipients=[A2,A7,A6];A8[A9.Style].classRecipients=[A2];A8[A9.Mode].classRecipients=[A6];A4.Oblique3DFunctionality=A4.ObliqueFunctions.ObliqueImageryIn3D;AR.appendChild(A7);Ar=document.createElement("div");Ar.id="MSVE_navAction_topBackground";Ar.className="MSVE_navAction_background";Ao=document.createElement("div");Ao.id="MSVE_navAction_compassBackground";Ao.className="MSVE_navAction_background";An=document.createElement("div");An.id="MSVE_navAction_leftBackground";An.className="MSVE_navAction_background";A6.className="MSVE_Dashboard MSVE_Dashboard_V6 MSVE_FlatlandMapMode";Ay=document.createElement("div");Ay.id="MSVE_navAction_leftBar";Ay.className="MSVE_Dashboard MSVE_Dashboard_V6";Au=document.createElement("div");Au.id="MSVE_navAction_compassContainer";Au.className="MSVE_Dashboard MSVE_Dashboard_V6";A1=document.createElement("div");A1.id="MSVE_navAction_toggleGlyphWrapper";A1.title=L_NavActionHideToolTip_Text;pseudoHover(A1);A7.appendChild(An);A7.appendChild(Ao);A7.appendChild(Ar);A7.appendChild(Au);A7.appendChild(Ay);A7.appendChild(A6);A7.appendChild(A1);if(!A5.IsModeEnabled(Msn.VE.MapActionMode.Mode3D)){AN()}var G=g(A7),H=G.select("> div");H.addEvent("mousedown",IgnoreEvent);H.addEvent("mouseup",IgnoreEvent);H.addEvent("mousemove",DashboardContainerMouseMoveEvent);H.addEvent("mousewheel",IgnoreEvent);H.addEvent("dblclick",IgnoreEvent);H.addEvent("contextmenu",IgnoreEvent);H.addEvent("keydown",IgnoreEvent);H.addEvent("keyup",IgnoreEvent);H.addEvent("click",IgnoreEvent);A3=[];for(As=0;As<5;As++){A3[As]=document.createElement("div");A3[As].className="MSVE_navAction_separator";A3[As].id="MSVE_navAction_separator"+As}Al=document.createElement("div");Al.id="MSVE_navAction_toggleGlyphInner";Al.className="MSVE_navAction_toggleGlyph";A1.appendChild(Al);A8[A9.Road].title=L_NavActionRoadToolTip_Text;A8[A9.Aerial].title=L_NavActionAerialToolTip_Text;A8[A9.Hybrid].title=L_NavActionHybridToolTip_Text;A8[A9.Mode2D].title=L_NavActionFlatlandToolTip_Text;A8[A9.Mode3D].title=L_NavActionView3DToolTip_Text;A2.appendChild(A8[A9.Road]);A2.appendChild(A8[A9.Aerial]);A2.appendChild(A3[1]);A2.appendChild(A8[A9.Oblique]);if(AY){A6.appendChild(A8[A9.Mode]);A6.appendChild(A3[0])}A6.appendChild(A2);A6.appendChild(A3[2]);A4.SetLabelsState(AG!=false);A6.appendChild(A8[A9.ShowLabels]);A6.appendChild(A3[3]);if(A8[A9.Traffic]!=null){A8[A9.Traffic].title=L_NavActionShowTrafficToolTip_Text;A6.appendChild(A8[A9.Traffic]);A6.appendChild(A3[4])}else{G.addClass("notraffic")}if(!AC){var A=parseInt(G.getStyle("width"))-parseInt(g(A8[A9.Oblique]).getStyle("width"));A7.style.width=A+"px";A8[A9.Oblique].style.display="none"}At=document.createElement("div");At.id="MSVE_navAction_compassWrapper";Au.appendChild(At);Ak=new Ab(At);Ak.Init();pseudoHover(Ak.GetElement());A8[A9.ObliqueCompass].radius=31;At.appendChild(A8[A9.ObliqueCompass]);var D=A4.GetTinyZoom();Ay.appendChild(A8[A9.TinyZoom]);Av=document.createElement("div");Av.id="MSVE_navAction_zoomPlusWrapper";pseudoHover(Av);Av.appendChild(D.GetPlus());A8[A9.TinyZoom].appendChild(Av);Aw=document.createElement("div");Aw.id="MSVE_navAction_zoomMinusWrapper";pseudoHover(Aw);Aw.appendChild(D.GetMinus());A8[A9.TinyZoom].appendChild(Aw);D.HookupPlusMinusEvents(Av,Aw);Ax=document.createElement("div");Ax.id="MSVE_navAction_rotatorContainer";Aq=document.createElement("div");Aq.id="MSVE_navAction_ccw";Aq.title=L_NavActionObliqueRotationToolTip_CCW_Text;Aq.className="MSVE_navAction_rotator";Ap=document.createElement("div");Ap.id="MSVE_navAction_cw";Ap.title=L_NavActionObliqueRotationToolTip_CW_Text;Ap.className="MSVE_navAction_rotator";A0=document.createElement("div");A0.id="MSVE_navAction_ccwWrapper";pseudoHover(A0);A0.appendChild(Aq);Az=document.createElement("div");Az.id="MSVE_navAction_cwWrapper";pseudoHover(Az);Az.appendChild(Ap);g(A0).addEvent("click",AO);g(Az).addEvent("click",AM);Ax.appendChild(A0);Ax.appendChild(Az);Ay.appendChild(Ax);A6.appendChild(A8[A9.ObliqueNotification]);A6.appendChild(A8[A9.ThreeDUpdatedNotification]);A4.Init();A5.AttachEvent("oninitmode",AE);if(Msn.VE.Animation){AT()}A4.UpdateZoom()}function BA(){A6.removeChild(A8[A9.ObliqueNotification]);A6.removeChild(A8[A9.ThreeDUpdatedNotification]);g(A0).removeEvent("click",AO);g(Az).removeEvent("click",AM);A0.removeChild(Aq);Az.removeChild(Ap);Ax.removeChild(A0);Ax.removeChild(Az);Ay.removeChild(Ax);var D=A4.GetTinyZoom();if(D){var B=D.GetMinus();if(B){Aw.removeChild(B)}var E=D.GetPlus();if(E){Av.removeChild(E)}A8[A9.TinyZoom].removeChild(Aw);A8[A9.TinyZoom].removeChild(Av);Ay.removeChild(A8[A9.TinyZoom])}Ak.Destroy();Au.removeChild(At);At.removeChild(A8[A9.ObliqueCompass]);if(A8[A9.Traffic]!=null){A6.removeChild(A8[A9.Traffic]);A6.removeChild(A3[4])}A6.removeChild(A8[A9.ShowLabels]);A6.removeChild(A3[3]);A2.removeChild(A8[A9.Road]);A2.removeChild(A8[A9.Aerial]);A2.removeChild(A3[1]);A2.removeChild(A8[A9.Oblique]);if(AY){A6.removeChild(A8[A9.Mode]);A6.removeChild(A3[0])}A6.removeChild(A2);A6.removeChild(A3[2]);A1.removeChild(Al);var C=g(A7),H=C.select("> div");H.removeEvent("mouseleave",Aa);H.removeEvent("mouseenter",AZ);H.removeEvent("mousedown",IgnoreEvent);H.removeEvent("mouseup",IgnoreEvent);H.removeEvent("mousemove",DashboardContainerMouseMoveEvent);H.removeEvent("mousewheel",IgnoreEvent);H.removeEvent("dblclick",IgnoreEvent);H.removeEvent("contextmenu",IgnoreEvent);H.removeEvent("keydown",IgnoreEvent);H.removeEvent("keyup",IgnoreEvent);H.removeEvent("click",IgnoreEvent);A7.removeChild(An);A7.removeChild(Ao);A7.removeChild(Ar);A7.removeChild(Au);A7.removeChild(Ay);A7.removeChild(A6);A7.removeChild(A1);AR.removeChild(A7);A4.Destroy();if(Msn.VE.Animation){AX().onclick=null}}function Aa(){Gimme.Animation.end("MSVE_NAVACTION_FADEIN");g(A7).select("div.MSVE_navAction_background").fadeTo(null,AW,AS,"MSVE_NAVACTION_FADEOUT")}function AZ(){Gimme.Animation.end("MSVE_NAVACTION_FADEOUT");g(A7).select("div.MSVE_navAction_background").fadeTo(null,AF,AS,"MSVE_NAVACTION_FADEIN")}function AE(A){if(A==Msn.VE.MapActionMode.Mode3D){AD();if(A5.Get3DControl()){if(g(AP()).hasClass("collapsed")){A5.Get3DControl().ShowNavigationControl=false}else{A5.Get3DControl().ShowNavigationControl=true}}}else{AN()}}function AN(){var B=g(A7),A=B.select("> div");B.select("div.MSVE_navAction_background").setStyle("opacity",AW);A.addEvent("mouseleave",Aa);A.addEvent("mouseenter",AZ)}function AD(){var B=g(A7),A=B.select("> div");A.removeEvent("mouseleave",Aa);A.removeEvent("mouseenter",AZ);B.select("div.MSVE_navAction_background").setStyle("opacity",AQ)}function AO(){AU(Msn.VE.BirdsEyeSearchSpinDirection.CounterclockwiseSpin)}function AM(){AU(Msn.VE.BirdsEyeSearchSpinDirection.ClockwiseSpin)}function AU(B){A4.SetLastRotationDirection(B);var A=A5.GetObliqueScene();if(A){var C=AL[A.GetOrientation()],D=AI[(C+B+4)%4];A5.SetObliqueOrientation(D,B,true);A4.obliqueCompass.UpdateFromMap()}}function AP(){return A7}function AJ(){return A4.GetObliqueNotifierShimmedElements().concat([Ar])}function AX(){return A1}function Ah(){return A4.GetMapModeState()}function Ai(){if(A7){A7.style.display="block"}}function Ae(){if(A7){A7.style.display="none"}}function AT(){if(!A5.GetDashboard().GetToggleGlyph()){return }A5.GetDashboard().GetToggleGlyph().onclick=function(){var B=A5.GetDashboard();if(g(B.GetElement()).hasClass("collapsed")){g(B.GetElement()).removeClass("collapsed");B.GetToggleGlyph().title=L_NavActionHideToolTip_Text;if(A5.Get3DControl()){A5.Get3DControl().ShowNavigationControl=true}}else{g(B.GetElement()).addClass("collapsed");B.GetToggleGlyph().title=L_NavActionShowToolTip_Text;if(A5.Get3DControl()){A5.Get3DControl().ShowNavigationControl=false}}var C=A5.GetDashboard().GetShimmedElements(),A;for(A=0;A<C.length;A++){mvcViewFacade.UpdateShimIfSupported(C[A])}g("#MSVE_navAction_topBackground").setStyle("opacity",AQ)}}function AH(){A4.ObliqueFunctions.ObliqueImageryIn3D.ObliqueClickFunction()}this.DisplayThreeDUpdatedNotification=function Af(){A4.DisplayThreeDUpdatedNotification()};function AK(A){A4.SetLastRotationDirection(A)}this.Init=AA;this.Destroy=BA;this.GetElement=AP;this.GetToggleGlyph=AX;this.GetShimmedElements=AJ;this.createRoller=AT;this.GetMode=Ah;this.Show=Ai;this.Hide=Ae;this.Oblique3DToggle=AH;this.SetLastRotationDirection=AK};Msn.VE.LatLong=function(A,B){this.latitude=A;this.longitude=B};Msn.VE.LatLong.prototype.ToString=function(){return"("+this.latitude+", "+this.longitude+")"};Msn.VE.LatLong.prototype.Copy=function(A){if(!A){return }this.latitude=A.latitude;this.longitude=A.longitude};Msn.VE.LatLong.prototype.Equals=function(A){if(A instanceof Msn.VE.LatLong){return this.latitude==A.latitude&&this.longitude==A.longitude}else{return false}};Msn.VE.LatLongRectangle=function(B,A){this.northwest=B;this.southeast=A;this.ToString=function(){return"("+(this.northwest?this.northwest.ToString():"null")+", "+(this.southeast?this.southeast.ToString():"null")+")"};this.Copy=function(C){if(!C){return }if(!this.northwest){this.northwest=new Msn.VE.LatLong}if(!this.southeast){this.southeast=new Msn.VE.LatLong}this.northwest.Copy(C.northwest);this.southeast.Copy(C.southeast)};this.Center=function(){var C=Math.sin(this.northwest.latitude*Math.PI/180),F=Math.sin(this.southeast.latitude*Math.PI/180),E=0.25*(Math.log((1+C)/(1-C))+Math.log((1+F)/(1-F))),D=new Msn.VE.LatLong;D.latitude=Math.atan(Math.exp(E))*360/Math.PI-90;D.longitude=0.5*(parseFloat(this.northwest.longitude)+parseFloat(this.southeast.longitude));return D};this.Contains=function(C){return C.latitude<=B.latitude&&C.longitude>=B.longitude&&C.latitude>=A.latitude&&C.lo
