Surpriseplus
2022-10-20 0f0d87ffbe149d47342d2bf5d5e9ae6ce130c901
public/SmartEarthSDK/Workers/cesiumTdt.js
@@ -23371,7 +23371,7 @@
        r(6)), A = r.n(_), I = (r(84),
        r(141),
        r(143),
        r(0)), w = r.n(I), G = r(3), E = r.n(G), S = ["_latelyCollisionStamp", "collisionDetection", "boundBox", "minLevel", "{z}", "{x}", "CutString", "tile", "addCacheTile", "addLabelAndIco", "delaySynchronous", "send", "json", "LabelPoint", "Name", "initTDT", "pois", "createLabel", "_timer2", "coordinate", "font", "px ", "stringTable", "label", "sans-serif", "fontStyle", "bold ", "italic ", "fontColor", "shiningColor", "shiningSize", "backgroundPadding", "eyeOffset", "disableDepthTestDistance", "heightReference", "NONE", "symbolID", "billboard", "{id}", "displayHeight", "alignedAxis", "HeightReference", "priority", "xyz", "debug", "getElementsByClassName", "SceneTransforms", "getLabelReact", "class", "cssText", "position:absolute; top:", "px; left:", "px; width:", "px; height:", "collisionBox", "bindEvent", "moveEnd", "changed", "unbindEvent", "_roadTileset", "entity", "minX", "maxX", "maxY", "option optimize_for = LITE_RUNTIME;", "package GEOPOI;", "enum enumGeometryType {", "ePoint = 0;", "eMultiLineString = 1;", "ePolygon = 2;", "} ;", "message PBPOI{", "required uint64 OID = 1;", "required string Name =2;", "repeated double Coordinates =3 [packed=true];", "required enumGeometryType GeometryType = 4;", "optional int32 Interate = 5;", "optional int32 SymbolID = 10  [default = 0];", "optional double DisplayHeight = 11 [default = 32];", "optional uint32 ShiningColor=12 [default =0];", "optional uint32\tFontNameIndex=13 [default =0];", "optional int32\tFontSize=14 [default =18];", "optional uint32\tFontColor=15 [default =0];", "repeated string s = 1;", "message PBPOITile{", "required int64 Version = 1;", "required StringTable StringTable = 3;", "repeated PBPOI POIS = 4;", "ProtoBuf", "ProtoBuf.js is not present. Please see www/index.html for manual setup instructions.", "loadProto", "GeoPOI.proto", "GEOPOI", "PBPOITile", "enum enumZCoordType {eCloseGround = 0;eCloseSeaSurface = 1;eRelativelyGround = 2;eAbsolute = 3;};", "optional enumZCoordType ZCoordType = 16 [default = eAbsolute];", "message StringTable {", "required int64 TileKey = 2;", "GeoPOI2.proto", "optional int32 Priority = 5;", "repeated int32 Interates =6 [packed=true];", "optional int32 FontStyle=17;", "optional int32 ShiningSize=18;", "GeoPOI3.proto", "decode", "version", "Version", "titleKey", "TileKey", "StringTable", "POIS", "OID", "SymbolID", "DisplayHeight", "ShiningColor", "fontNameIndex", "FontNameIndex", "fontSize", "FontSize", "ZCoordType", "zCoordType", "geometryType", "Coordinates", "interates", "Interates", "FontStyle", "ShiningSize", "GeoWTFS", "hierarchy", "horizontalDistance", "verticalHeight", "spaceDistance", "MVTProvider", "_tileWidth", "tileWidth", "_tileHeight", "_mvtParser", "styleName", "_tileMatrixSetID", "_tileMatrixLabels", "protobuf", "maximumLevel", "_sourceMaxzoom", "sourceMaxzoom", "_symbolVisibility", "enablePickFeatures", "_pickedEvent", "_key", "https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf?access_token={k}", "createForExtent", "getResolutions", "_pixelRatio", "Default", "Text", "_tileQueueForFeatures", "TileReplacementQueue", "_cacheSize", "getUrlTmpl", "_spriteUrl", "deferCache", "messageCache", "blankCanvas", "OffscreenCanvas", "_useWebWorker", "useWebWorker", "浏览器不支持OffscreenCanvas,无法使用WebWorker", "styleFunc", "getStyleUrl", "sources", "layers", "vector", "_styles", "sprite", "loadJson", ".json", "fetchJson", "stylefunction", ".png", "spriteData", "retry", "_initWorker", "_tileQueueForCanvas", "forEachLoadedTile", "imagery", "loadingImagery", "imageryLayer", "QuadtreeTileLoadState", "LOADING", "readyImagery", "addReference", "ImageryState", "setRequestHeader", "getTileCredits", "head", "yMvt", "zMvt", "replacementNext", "_lastBeforeStartOfFrame", "replacementPrevious", "tail", "\nvar sourceMaxZoom = ", ";\nvar resolutions = [", "];\nvar olmsUrl = '", "_olmsUrl", "';\nvar tileWidth = ", ";\nvar tileHeight = ", ';\nvar window={},document={implementation:{createDocument:function(){}},createElement:function(e){if("CANVAS"===e.toUpperCase())return new OffscreenCanvas(512,512)}};function getJSON(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.setRequestHeader("Accept","application/json"),s.onerror=function(){},s.onload=function(){if(200<=s.status&&s.status<300&&s.response){var e;try{e=JSON.parse(s.response)}catch(e){}t(e)}},s.send()}function getArrayBuffer(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onerror=function(){t(null)},s.onload=function(){var e=s.response;200<=s.status&&s.status<300&&s.response?t(e):t(null)},s.send()}function getImage(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="blob",s.onload=function(){var e=s.response;200<=s.status&&s.status<300&&s.response&&t(e)},s.send()}function clip(e,t){var s=JSON.parse(t),r=s[0],n=s[1],o=s[2];if(o>sourceMaxZoom){var a=[0,0,4096,4096],i=o-sourceMaxZoom,p=r-(r>>i<<i),l=n-(n>>i<<i),y=(a[2]-a[0])/(1<<i),u=[a[0]+p*y,a[1]+l*y,a[0]+(1+p)*y,a[1]+(1+l)*y];e.rect=u}return e}function renderCanvas(e,t){for(var s=window.GeoOLMS.Rbush(9,void 0),r=JSON.parse(t)[2],n=new OffscreenCanvas(512,512),o=n.getContext("2d"),a=e.rect?e.rect:[0,0,4096,4096],i=new window.GeoOLMS.ReplayGroup(0,a,8,window.devicePixelRatio,!0,s,100),p=0;p<e.length;p++)for(var l=e[p],y=styleFunc(l,r)||[],u=0;u<y.length;u++)window.GeoOLMS.renderFeature(i,l,y[u],16);i.finish();var c={},d=[tileWidth/(a[2]-a[0]),0,0,tileHeight/(a[3]-a[1]),-512*a[0]/(a[2]-a[0]),-512*a[1]/(a[3]-a[1])];return i.replay(o,d,0,{},!0,_replays,c),window.GeoOLMS.replayDeclutter(c,o,0,!0),i=null,n}importScripts(olmsUrl);var style,spriteUrl,spriteJson,spriteImage,styleFunc=function(){return[]},_mvtParser=new window.GeoOLMS.MVT,_replays=["Default","Image","Polygon","LineString","Text"];function loadTile(s){if("string"==typeof s.data)getArrayBuffer(s.data,function(e){if(e){var t=renderCanvas(clip(_mvtParser.readFeatures(e),s.key),s.key).transferToImageBitmap();postMessage({type:"loadTile",key:s.key,id:s.id,bitmap:t,features:e},[t,e])}else postMessage({type:"loadTile",key:s.key,id:s.id})});else if(s.data instanceof ArrayBuffer){var e=renderCanvas(clip(_mvtParser.readFeatures(s.data),s.key),s.key).transferToImageBitmap();postMessage({type:"loadTile",key:s.key,id:s.id,bitmap:e,features:s.data},[e,s.data])}}function setStyle(s){style=JSON.parse(s.style),(spriteUrl=s.spriteUrl)?getImage(spriteUrl+".png",function(e){createImageBitmap(e).then(function(e){var t=new OffscreenCanvas(e.width,e.height);t.getContext("2d").drawImage(e,0,0),spriteImage=t,getJSON(spriteUrl+".json",function(e){spriteJson=e,styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setStyle",id:s.id})})})}):(styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions),postMessage({type:"setStyle",id:s.id}))}function setPaintProperty(e){style=JSON.parse(e.style),styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setPaintProperty",id:e.id})}function setLayoutProperty(e){style=JSON.parse(e.style),styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setLayoutProperty",id:e.id})}self.onmessage=function(e){var t=e.data;"loadTile"===t.type?loadTile(t):"setStyle"===t.type?setStyle(t):"setPaintProperty"===t.type?setPaintProperty(t):"setLayoutProperty"===t.type&&setLayoutProperty(t)};\n\t\t', "text/javascript", "createObjectURL", "actors", "Worker ", "stringify", "setStyle", "revokeObjectURL", "bind", "target", "parent", "mapId", "callbackID", "receive", "callbacks", "loadTile", "spriteUrl", "DefferState", "_imageryProvider", "{y}", "{k}", "UNLOADED", "currentActor", "RELOADED", "bitmap", "bitmaprenderer", "transferFromImageBitmap", "DONE", "setPaintProperty", "bad request", "readFeatures", "renderCanvas", "loadArrayBuffer", "xMvt", "markTileRendered", "Rbush", "rect", "devicePixelRatio", "renderFeature", "finish", "replay", "_replays", "mysourceid", "style version 8 required.", "sources does not exist", "projection", "type_", "ends_", "MultiPolygon", "flatCoordinates_", "MultiLineString", "featureToGeoJSON", "id_", "properties_", "WMTS", "GetTile", "getParameterString", "combine", "GetStyle", "_styleName", "geoglobe-olms.js", "extensionsUsed", "KHR_technique_webgl", "extensionsRequired", "KHR_techniques_webgl", "extensions", "shaders", "techniques", "technique", "parameters", "_vtxf_cachedGltf", "execScript", "var ", "invalid index", "getParent", "input", "lazy", "compressionType", "outputBuffer", "outputIndex", "invalid code: ", "invalid distance", "bufferSize", "bufferType", "resize", "invalid inflate mode", "invalid uncompressed block header: length verify", "input buffer is broken", "set", "unknown BTYPE: ", "verify", "unsupported compression method", "invalid fcheck flag:", "fdict flag is not supported", "invalid adler-32 checksum", "LOG2E", "invalid compression method", "Zlib.Inflate", "Zlib.Inflate.prototype.decompress", "Zlib.Inflate.BufferType", "Zlib.Deflate", "Zlib.Deflate.compress", "Zlib.Deflate.prototype.compress", "length", "enumerable", "configurable", "value", "key", "prototype", "this hasn't been initialised - super() hasn't been called", "object", "function", "Super expression must either be null or a function, not ", "create", "setPrototypeOf", "__proto__", "amd", "defineProperty", "defineProperties", "Cartesian2", "Cartesian3", "Cartesian4", "Cartographic", "defined", "DeveloperError", "Ellipsoid", "HeadingPitchRoll", "IntersectionTests", "KeyboardEventModifier", "Matrix3", "Matrix4", "Plane", "Quaternion", "Ray", "Transforms", "CameraEventAggregator", "MapMode2D", "SceneMode", "Math", "scene is required.", "constrainedPitch", "PI_OVER_SIX", "enableInputs", "enableTranslate", "enableRotate", "enableTilt", "enableLook", "inertiaSpin", "inertiaTranslate", "maximumMovementRatio", "bounceAnimationTime", "minimumZoomDistance", "POSITIVE_INFINITY", "LEFT_DRAG", "zoomEventTypes", "WHEEL", "PINCH", "rotateEventTypes", "RIGHT_DRAG", "CTRL", "lookEventTypes", "SHIFT", "minimumPickingTerrainHeight", "_minimumPickingTerrainHeight", "minimumCollisionTerrainHeight", "_minimumCollisionTerrainHeight", "minimumTrackBallHeight", "_minimumTrackBallHeight", "enableCollisionDetection", "_scene", "_globe", "_ellipsoid", "GeoOption", "_aggregator", "GeoCameraEventAggregator", "canvas", "_lastInertiaTranslateMovement", "_lastInertiaTiltMovement", "_tween", "_horizontalRotationAxis", "_tiltCenterMousePosition", "_rotateMousePosition", "_rotateStartPosition", "_strafeStartPosition", "_zoomMouseStart", "_useZoomWorldPosition", "_tiltCVOffMap", "_looking", "_rotating", "_strafing", "_zoomingOnVector", "_rotatingZoom", "_maxCoord", "project", "PI_OVER_TWO", "_zoomFactor", "_rotateFactor", "_maximumRotateRate", "_minimumRotateRate", "_maximumZoomRate", "exp", "equalsEpsilon", "startPosition", "endPosition", "EPSILON14", "getButtonPressTime", "getButtonReleaseTime", "getTime", "active", "getLastMovement", "motion", "multiplyByScalar", "add", "clone", "ZERO", "isButtonDown", "isArray", "eventType", "modifier", "isMoving", "getMovement", "getStartMousePosition", "clamp", "abs", "maximumZoomDistance", "_minimumZoomRate", "autoResetHeadingPitch", "clientHeight", "min", "camera", "heading", "pitch", "roll", "zoomIn", "_adjustOrthographicFrustum", "equals", "SCENE2D", "getPickRay", "origin", "fromElements", "_zoomWorldPosition", "COLUMBUS_VIEW", "height", "position", "normalize", "distance", "getMagnitude", "SCENE3D", "positionCartographic", "dot", "direction", "clientWidth", "subtract", "magnitude", "asin", "sin", "cross", "cos", "right", "setView", "acosClamped", "rotate", "wgs84ToWindowCoordinates", "move", "UNIT_W", "pickEllipsoid", "globe", "pick", "positionWC", "directionWC", "cartographicToCartesian", "flyToBoundingSphere", "HeadingPitchRange", "angleAndHeight", "TWO_PI", "twistRight", "mapMode2D", "IDENTITY", "transform", "enableZoom", "inertiaZoom", "translateEventTypes", "_lastInertiaSpinMovement", "_lastInertiaZoomMovement", "tiltEventTypes", "_translateMousePosition", "_strafeMousePosition", "UNIT_X", "fromPointNormal", "rayPlane", "EPSILON6", "onMap", "mapProjection", "unproject", "eastNorthUpToFixedFrame", "UNIT_SPHERE", "_rotateRateRangeAdjustment", "_setTransform", "UNIT_Z", "maximumRadius", "_tiltCenter", "_projection", "constrainedAxis", "negate", "worldToCameraCoordinatesPoint", "sqrt", "angleBetween", "fromAxisAngle", "fromQuaternion", "multiplyByVector", "_tweens", "anyButtonDown", "contains", "update", "mode", "multiplyByPoint", "geodeticSurfaceNormal", "cartesianToCartographic", "fromCartesian3", "rotateRight", "enableGeoLocateRatate", "rotateUp", "worldToCameraCoordinates", "acos", "mostOrthogonalAxis", "_tiltOnEllipsoid", "EPSILON3", "rayEllipsoid", "getPoint", "start", "grazingAltitudeLocation", "stop", "rightWC", "magnitudeSquared", "look", "frustum", "EPSILON2", "EPSILON4", "lookUp", "_adjustedHeightForTerrain", "getHeight", "max", "ellipsoid", "terrainExaggeration", "reset", "adjustedHeightForTerrain", "isDestroyed", "destroy", "removeAll", "GEOSYMBOL", "assign", "_version", "getPrototypeOf", "call", "rotation", "scale", "Cesium", "GeoSymbol3D", "GEO_VERSION_NUMBER", "$ Cesium Version: 1.63.1 build-20200424180426 $", "Map", "defaultValue", "baseLayerPicker", "animation", "homeButton", "orderIndependentTranslucency", "sceneMode", "scene3DOnly", "maxLevel", "fullscreenButton", "imageryProvider", "SingleTileImageryProvider", "Assets/Images/Earth.jpg", "Viewer", "scene", "WGS84", "log2", "longitude", "toDegrees", "latitude", "geocentricSurfaceNormal", "PI_OVER_THREE", "getCameraOptionsFromMapbox", "zoom", "toRadians", "center", "bearing", "moveBackward", "destination", "orientation", "UNDERGROUND_MODE", "Cesium.js", "(^|(.*?\\/))(", ")(\\?|$)", "getElementsByTagName", "script", "src", "match", "ClockViewModel", "EMPTY_OBJECT", "layoutId", "layout container is required.", "getElement", "viewers", "_viewers", "_clockViewModel", "children", "addEventListener", "container", "options", "log", "getViewerById", "GeoMultiScreenWidget", "left-right", "ImagerySplitDirection", "LEFT", "RIGHT", "top-bottom", "viewer", "_viewer", "_isEnable", "_setSplitDirection", "_slider", "_initSlider", "_splitMode", "_createStyle", "_setSplitMode", "_upateSceneImagerySplitPositionBySlider", "_enableLayers", "enableLayers", "_updateEnableLayers", "toLowerCase", "left", "splitDirection", "_splitDirection", "className", "geo-split-slider", " top-bottom", "imagerySplitMode", "style", "top", "50%", " left-right", "_upDateImagerySplitPositionBySlider", "splitMode", "offsetLeft", "parentElement", "offsetWidth", "imagerySplitPosition", "offsetTop", "offsetHeight", "createElement", "div", "_element", "ScreenSpaceEventHandler", "setInputAction", "ScreenSpaceEventType", "PINCH_START", "MOUSE_MOVE", "GeoSplitSliderWidgetStyle", "type", "\n\n            /* 左右分屏 */\n            .geo-split-slider.left-right{\n                width: 5px;\n                height: 100%;\n                left: 50%;\n                top: 0px;                \n            }\n            \n            .geo-split-slider {\n                position: absolute;\n                background-color: #D3D3D3;/* transparent; */\n                z-index: 9999;\n            }\n            \n            .geo-split-slider.left-right:hover {\n                cursor: ew-resize;\n            }\n            \n            .geo-split-slider.top-bottom:hover{\n                cursor:ns-resize;\n            }\n            /* 上下分屏 */\n            .geo-split-slider.top-bottom{\n                width: 100%;\n                height: 5px;\n                left: 0px;\n                top: 50%;\n            }\n                                \n                    ", "appendChild", "createTextNode", "color", "Color", "RED", "withAlpha", "appearance", "PerInstanceColorAppearance", "handler", "cursor", "crosshair", "_array_", "_labels_", "pickPosition", "fromCartesian", "name", "draw_circle", "GroundPrimitive", "GeometryInstance", "ClassificationType", "BOTH", "push", "primitives", "LEFT_CLICK", "remove", "geometry", "radius", "primitive", "CircleGeometry", "ColorGeometryInstanceAttribute", "左键单击开始绘制,右键单击结束绘制", "15px Microsoft YaHei", "get", "drawEnd", "RIGHT_CLICK", "_circles_", "lastP", "default", "createGeometry", "Entity", "attributes", "values", "callback", "clear", "draw_label", "entities", "DrawHeightWidget", "CHARTREUSE", "lineWidth", "activate", "PolylineCollection", "width", "loop", "material", "uniforms", "fromDegreesArrayHeights", "positions", "16px sans-serif", "fromDegrees", "DrawPointWidget", "pixelSize", "PointPrimitiveCollection", "LabelCollection", "左键单击进行绘制", "draw_point", "DrawPolygonWidget", "count", "_polylines_", "draw_polyline", "_array2_", "点击按钮结束绘制", "DODGERBLUE", "PolygonGeometry", "EllipsoidSurfaceAppearance", "VERTEX_FORMAT", "fromColor", "draw_polygon", "lineColor", "screenToCartesian", "lineClampGround", "VertexFormat", "POSITION_ONLY", "createPrimitive", "degreesArrayHeights", "_labels", "temporaryGroundPrimitive", "fixedGroundPrimitive", "concatGroundPrimitive", "draw_polylineConcat", "concatPrimitive", "temporaryPrimitive", "fixedPrimitive", "lineLoop", "createGroundPrimitive", "draw_polylineTemple", "concat", "finalGroundPrimitive", "finalPrimitive", "1.0.0", "2018.6.19", "xupinhui", "doublearrow", "algorithm", "connPoint", "tempPoint4", "points", "getTempPoint4", "PlotUtils", "isClockWise", "getArrowPoints", "slice", "getBezierPoints", "array2Dto1D", "controlPoint", "polygonalPoint", "fromDegreesArray", "headHeightFactor", "headWidthFactor", "neckHeightFactor", "neckWidthFactor", "getThirdPoint", "HALF_PI", "Constants", "getBaseLength", "reverse", "forEach", "mid", "getArrowHeadPoints", "getArrowBodyPoints", "wholeDistance", "getAngleOfThreePoints", "tailedAttackArrow", "tailWidthFactor", "swallowTailFactor", "swallowTailPnt", "getAttackArrowHeadPoints", "getAttackArrowBodyPoints", "getQBSplinePoints", "headTailFactor", "filter", "iterator", "symbol", "DrawHelper", "_tooltip", "_surfaces", "enhancePrimitives", "_handlersMuted", "mouseOut", "mouseMove", "leftUp", "LEFT_UP", "leftDown", "LEFT_DOWN", "setListener", "muteHandlers", "registerEditableShape", "setHighlighted", "_editMode", "showAt", "点击以编辑图形", "setVisible", "leftClick", "leftDoubleClick", "disableAllEditMode", "editCleanUp", "stopDrawing", "disableAllHighlights", "_highlightedSurface", "setEdited", "_editedSurface", "setEditMode", "Material", "fromType", "ColorType", "PolylineMaterialAppearance", "_granularity", "_height", "_textureRotationAngle", "_createPrimitive", "_outlinePolygon", "setAttribute", "getAttribute", "this.ellipsoid must be defined.", "this.material must be defined.", "granularity", "this.granularity and scene2D/scene3D overrides must be greater than zero.", "show", "_primitive", "textureRotationAngle", "_id", "getGeometry", "Primitive", "asynchronous", "strokeColor", "getOutlineGeometry", "debugShowBoundingVolume", "destroyObject", "setStrokeStyle", "strokeWidth", "extent", "initialiseOptions", "setExtent", "fromPositions", "PolygonOutlineGeometry", "PolygonPrimitive", "isPolygon", "setCustom", "custom", "getCustom", "getPositions", "TailedAttackPrimitive", "setPositions", "PolylinePrimitive", "setWidth", "setGeodesic", "geodesic", "getGeodesic", "PolylineGeometry", "/geomap-api/JsCesuimDemo/resource/images/img_plot/dragIcon.png", "BillboardGroup", "addBillboards", "BillboardCollection", "_orderedBillboards", "createBillboard", "_billboards", "_options", "shiftX", "shiftY", "HorizontalOrigin", "CENTER", "VerticalOrigin", "iconUrl", "screenSpaceCameraController", "dragHandlers", "onDrag", "onDragEnd", "onDragStart", "onDoubleClick", "onClick", "_drawHelper", "tooltip", "insertBillboard", "splice", "addBillboard", "removeLastBillboard", "pop", "updateBillboardsPositions", "getBillboard", "countBillboards", "setOnTop", "startDrawingPolygon", "startDrawingPolyshape", "startDrawingPolyline", "startDrawing", "<p>Click to add first point</p>", "random", ")</p>", "<p>Double click to finish drawing</p>", "LEFT_DOUBLE_CLICK", "cartographicArrayToCartesianArray", "Rectangle", "northwest", "southwest", "startDrawingTailedAttack", "firstTime", "test", "<p>点击以增加第一个控制点</p>", "单击以增加一个新的控制点", "poly", "<p>双击可结束绘制</p>", "startDrawingExtent", "ExtentPrimitive", "<p>拖动改变箭头</p><p>再次点击结束绘制</p>", "setEditable", "_editable", "executeListeners", "dragEnd", "_highlighted", "_strokeColor", "fromCssColorString", "white", "_markers", "onEdited", "EllipsoidGeodesic", "interpolateUsingFraction", "billBoard", "removeBillboard", "index", "Drag to create a new point", "_editMarkers", "_globeClickhandler", "Extent", "cartesianArrayToCartographicArray", "doubleArrow", "拖动以钳击形状", "PolygonPrimitive单击", "拖动以改变形状", "TailedAttackPrimitive单击", "DrawHelperWidget", "Container is required", "./img/glyphicons_242_google_maps.png", "./img/glyphicons_097_vector_path_line.png", "./img/qianjijiantou.png", "./img/glyphicons_095_vector_path_circle.png", "./img/zhijiaojiantou.png", "DIV", "button", "title", "onclick", "SPAN", "IMG", "extentIcon", "点击以绘制直箭头", "extentCreated", "点击以绘制钳击箭头", "polygonCreated", "点击以绘制攻击箭头", "tailedAttackCreated", "clearIcon", "addToolbar", "ClearWidget", "DrawWidget", "west", "east", "south", "north", "EPSILON7", "pow", "toFixed", "twipsy-arrow", "twipsy-inner", "_div", "block", "none", "_title", "undefined", "constructor", "_listeners", "addListener", "getCircleCenterOfThreePoints", "getIntersectPoint", "getAzimuth", "getPointOnLine", "getCubicValue", "getArcPoints", "FITTING_COUNT", "getBisectorNormals", "ZERO_TOLERANCE", "getCurvePoints", "getLeftMostControlPoint", "getRightMostControlPoint", "getNormal", "getBinomialFactor", "getFactorial", "getQuadricBSplineFactor", "MeasureAreaWidget", "tags", "tag", "userAgent", "MeasureAreaWidget_draw_point", "WHITE", "MeasureAreaWidget_draw_label", "measureEnd", "selectFeatures", "indexOf", "polygon", "YELLOW", "delete", "MeasureAreaWidget_draw_polygon", "MeasureAreaWidget_", "area", "km²", "MeasureAzimuthWidget", "hideInfobox", "MeasureAzimuthWidget_result_label", "FILL_AND_OUTLINE", "18px KaiTi", "CADETBLUE", "Cesium3DTileset", "warn", "单击结束绘制", "MeasureAzimuthWidget_draw_polyline", "MeasureAzimuthWidget_", "PolylineArrowMaterialProperty", "AQUA", "_polylineGraphicsAzimuth", "PolylineDashMaterialProperty", "_polylineGraphicsNorth", "polyline", "point", "coordinates", "12px sans-serif", "角度:", "showInfobox", "display", "selectionIndicator", "infoBox", "MeasureCoordinateWidget", "请点击模型", "MeasureCoordinateWidget_", "MeasureCoordinateWidget_draw_coordinate", "MeasureCoordinateWidget_result_label", "经度:", "纬度:", "高程:", "collection", "MeasureDistanceWidget", "MeasureDistanceWidget_draw_point", "flag", "!cartesian", "MeasureDistanceWidget_draw_label", "MeasureDistanceWidget_draw_polyline", "总长:", "_polylineCollection", "_polyline", "_primitives", "MeasureDistanceWidget_result_label", "lerp", "MeasureElevationWidget_", "高程值:", "MeasureElevationWidget", "MeasureElevationWidget_result_label", "MeasureHeightWidget", "MeasureHeightWidget_draw_point", "MeasureHeightWidget_draw_polyline", "GREEN", "水平距离:", "垂直高度:", "空间距离:", "result_labelHeight", "MeasureHeightWidget_result_labelHeight", "MeasureSlopeWidget", "_camera", "_canvas", "_lineColor", "_lineWidth", "text", "MeasureSlopeWidget_draw_polyline", "MeasureSlopeWidget_", "PolylineArrow", "MeasureSlopeWidget_draw_label", "单击开始绘制", "atan", "MeasureSlopeWidget_result_label_", "LabelStyle", "16px KaiTi", "MeasureVolumeWidget", "_designElevation", "_samplingPointsNumber", "samplingPointsNumber", "_depthTestAgainstTerrain", "depthTestAgainstTerrain", "_classificationPrimitives", "_pickedClassificationPrimitives", "_tin", "_minHeight", "_maxHeight", "MeasureVolumeWidget_", "MeasureVolumeWidget_draw_label", "_volumeResult", "then", "addClassificationPrimitive", "addVerticalPolylines", "addBasePolygon", "_classificationPrimitive", "BLUE", "_interpolationPoints", "features", "_verticalPolylines", "MeasureVolumeWidget_draw_vertical_polylines", "properties", "lineString", "bboxPolygon", "randomPoint", "booleanPointInPolygon", "ceil", "FeatureCollection", "Feature", "Point", "apply", "getVolume", "intersection", "vertexSerial", "excavationVolume", "excavationArea", "fillVolume", "fillArea", "baseArea", "volume", "底面积:", "km³", "_resultLabels", "MeasureVolumeWidget_result_label_volume", "getGeometryInstanceAttributes", "_polylines", "toValue", "updateBaseElevation", "updateClassificationPrimitive", "体积:", "updateVerticalPolylinesAndBasePolygon", "ClassificationPrimitive", "MeasureVolumeWidget_draw_base_polygon", "miles", "convex", "steps", "edgeWidth", "edgeColor", "cylinderRadius", "clippingModeUnion", "enabled", "clippingPlanes", "modelEntityClippingPlanes", "computePlanes", "ClippingPlane", "createClippingPlanes", "ClippingPlaneCollection", "GeoFlood", "cartesianArrayHeights", "fragmentShader", "normalMapUrl", "createWaterFace", "creatPrimitive", "Water", "PolygonHierarchy", "VERSION", "parseFloat", "varying vec3 v_positionMC;\n\t\t\t\t\tvarying vec3 v_positionEC;\n\t\t\t\t\tvarying vec2 v_st;\n\t\t\t\t\t\n\t\t\t\t\tvoid main()\n\t\t\t\t\t{\n\t\t\t\t\t\tczm_materialInput materialInput;\n\t\t\t\t\t\tvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n\t\t\t\t\t#ifdef FACE_FORWARD\n\t\t\t\t\t\tnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\t\t\t\t\t#endif\n\t\t\t\t\t\tmaterialInput.s = v_st.s;\n\t\t\t\t\t\tmaterialInput.st = v_st;\n\t\t\t\t\t\tmaterialInput.str = vec3(v_st, 0.0);\n\t\t\t\t\t\tmaterialInput.normalEC = normalEC;\n\t\t\t\t\t\tmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\t\t\t\t\t\tvec3 positionToEyeEC = -v_positionEC;\n\t\t\t\t\t\tmaterialInput.positionToEyeEC = positionToEyeEC;\n\t\t\t\t\t\tczm_material material = czm_getMaterial(materialInput);\n\t\t\t\t\t#ifdef FLAT\n\t\t\t\t\t\tgl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\t\t\t\t\t#else\n\t\t\t\t\t\tgl_FragColor = czm_phong(normalize(positionToEyeEC), material", ", czm_lightDirectionEC", "GeoLimitHeight", "labelEntity", "polygonPlaneEntity", "targetHeight", "labelOption", "polygonPlaneOption", "polygonFitOption", "drawLabel", "drawPolygonPlane", "drawPolygonFit", "clearLabelEntity", "labelPosition", "labelText", "labelPixelOffset", "labelFillColor", "labelFont", "18px 楷体", "labelOutlineWidth", "labelStyle", "polygonPlanePerPositionHeight", "polygonPlaneHeight", "polygonPlaneMaterial", "polygonPlaneOutline", "polygonPlaneShow", "clearPolygonFitPrimitive", "polygonFitPositions", "error", "请输入有效的坐标数组!", "polygonFitHeight", "polygonFitExtrudedHeight", "polygonFitColor", "polygonFitPrimitive", "clearAll", "clearPolygonPlaneEntity", "GeoPLSViewShed3D_LIGHTPOINT", "GeoPLSViewShed3D_BOUNDARY", "GeoPLSViewShed3D_DASHLINE", "GeoPLSViewShed3D_ORIENTLINE", "GeoPLSViewShed3D", "groundPrimitives", "_pointLightHeight", "_pointLightPixelSize", "pointLightPixelSize", "_pointLightColor", "pointLightColor", "_boundaryWidth", "boundaryWidth", "_boundaryColor", "boundaryColor", "_orientLineWidth", "orientLineWidth", "_orientLineColor", "orientLineColor", "baseDEMLerpCfg", "_intervalAnalysis", "intervalAnalysis", "_pointLightCamera", "当前Cesium版本:", ",点光源可视域分析暂不支持该版本,请更换至1.50以上的版本!", "firstLeftClick", "shadowMap", "enableGeoPLSViewShed3D", "_baseDEMLerpCfg", "enable", "angleInterval", "timeInterval", "num", "boundaryPositionArr", "startPointLng", "startPointLat", "startPointHgt", "interpolationBase", "visibleColor", "invisibleColor", "单击左键确定可视域位置", "tipPosition", "单击左键固定可视域半径", "fromAlpha", "视高:", "半径:", "BOTTOM", "dynamicAnalysis", "pointLightPosition", "realTimeRadius", "Camera", "context", "size", "_pointLightRadius", "depthBias", "fromRadians", "toCartesian", "sort", "terrainShadows", "ShadowMode", "ENABLED", "GroundPolylineGeometry", "GroundPolylinePrimitive", "showBackground", "backgroundColor", "horizontalOrigin", "verticalOrigin", "pixelOffset", "fillColor", "outlineWidth", "outlineColor", "GeoProfile", "getLerpValue", "lng_origin", "lat_origin", "hgt_origin", "lng_destination", "lat_destination", "hgt_destination", "floor", "samplingNum", "minHeight", "maxHeight", "surfaceLen", "YValueArray", "addLenArray", "lerpCoordnatesArray", "drawChart", "getElementById", "onmousedown", "clientX", "onmousemove", "clientY", "onmouseup", "init", "剖面示意图", "#ccc", "bold", "axis", "<br />", "12%", "#aaa", "solid", "category", "长度(米)", "rgba(0.0, 128, 255, 0.6)", "bolder", "dashed", "高程(米)", "rgba(0.0,255.0,255.0,0.8)", "setOption", "table", "tbody", "innerHTML", "起点经度:", "投影距离:", "起点纬度:", "终点高程:", "地表距离:", "终点经度:", "最高高程:", "straightLen", "最低高程:", "oTable", "originCoordanate", "originImage", "destinationCoordanate", "clearChart", "myChart", "chartContainer", "removeChild", "GEOSIGHTLINE_TIP", "REDLINE", "GREENLINE", "GeoSightline", "observeRelativeHeight", "targetRelativeHeight", "observeImage", "targetImage", "objectsToExclude", "observeActualPosition", "targetActualPosition", "observeEntity", "targetEntity", ",通视分析暂不支持该版本,请更换至1.50以上的版本!", "destroyHandler", "enableGeoSightline", "pickFromRays", "单击左键确定观察点", "drillPickFromRay", "clampToHeight", "_entities", "_array", "GeoSkyLineVolume", "skyLineShow", "skylineShow", "skyLineWidth", "skyLineMaterial", "skyLineVolumeMaterial", "ORANGE", "skyLineVolumeOutLine", "skyLineVolumeOutLineColor", "BLACK", "extrudeRatio", "skyLine", "skyLineVolume", "calculateSkyLinePositions", "data", "skyLinePositions", "drawSkyLine", "skyLineDepthFailMaterial", "drawSkyLineVolume", "cameraPosition", "cameraHeight", "天际线示意图", "宽度(PX)", "line", "getPointDistance", "interNumber", "holeDepth", "arrPoints", "earth", "sideMaterial", "bottomMaterial", "GeoExcavationRegion", "samplingPoints", "_sideMaterial", "_interNumber", "_depth", "depth", "StripeMaterialProperty", "_entitys", "_samplingPoints", "_callback", "_bottomMaterial", "_vPolyline", "_vertexNum", "_excavationRegion", "_arrayVertex", "_outPoints", "GeoTerrainSlope", "shadingUniforms", "updateMaterial", "contour", "spacing", "selectedShading", "slope", "aspect", "elevation", "materials", "elevationRampMaterial", "minimumHeight", "maximumHeight", "contourMaterial", "slopeRampMaterial", "contourUniforms", "ElevationContour", "ElevationRamp", "SlopeRamp", "AspectRamp", "image", "getContext", "createLinearGradient", "#000000", "addColorStop", "#2747E0", "#ffffff", "#0a8d33", "#afdd76", "#f2b602", "#eea706", "#df7702", "#a52100", "#682b06", "#6a2402", "fillStyle", "ElevationColorContour", "max(contourMaterial.alpha, elevationRampMaterial.alpha)", "SlopeColorContour", "max(contourMaterial.alpha, slopeRampMaterial.alpha)", "AspectColorContour", "max(contourMaterial.alpha, aspectRampMaterial.alpha)", "_ready", "dirty", "polys", "isCartesian3Point", "platSlot", "content", "bindTileset", "_tileset", "There is a tileset already, Only One Bind", "platBodyDebug", "tileLoad", "showPlat", "isPlatShow", "isPlatDirty", "clearPlatDirty", "addPlatArea", "platPickPoints", "_show", "getPlatArea", "removePlatArea", "number", "_pickObject", "_tile", "_runtime", "rootNodes", "_boundingVolume", "halfAxes", "matOrg", "createHalfMatrix", "matOrgI", "invertMatrix", "matPrj", "matPrjI", "modelMatrix", "computedMatrix", "initBoxMatrixes", "modelMatrixI", "buffers", "initRegionMatrixes", "initializePlatPoly", "buffer", "byteOffset", "BYTES_PER_ELEMENT", "isPlatPoint", "replaceCommandVertexBuffer", "platPolys", "toPlatBoxModel", "toPlatModel", "_header", "boundingVolume", "region", "toPlatRegionModel", "platModel", "hitPlatTest", "isUsed", "toUnplatModel", "platPickRegion", "initPlatBodyDebug", "createTileRegion", "tileRegion", "initializeCartographicPlatPoly", "initializeCartesianPlatPoly", "divideByScalar", "initCompressPlane", "_orientedBoundingBox", "isPlatPointResult", "mapPosition", "compressPlane", "isPlatPointNoResult", "normal", "isInsidedPoint", "minY", "isEqualFloat", "_nodeCommands", "BufferUsage", "STATIC_DRAW", "command", "_vertexArray", "_attributes", "vertexBuffer", "vertexArrayDestroyable", "_vao", "glDeleteVertexArray", "_cachedGltf", "_gltf", "bufferViews", "getBuffer", "inverse", "setColumn", "createNormal", "createMatrix", "GEOVIEWRADAR_TIP", "GEOVIEWRADAR_LIGHTPOINT", "GeoViewRadar", "pointLightHeight", "boundingSphereStackPartitions", "boundingSphereSlicePartitions", "boundingSphereSubdivisions", ",雷达分析暂不支持该版本,请更换至1.50以上的版本!", "enableGeoViewRadar", "单击左键确定雷达位置", "单击左键固定雷达半径", "ShadowMap", "debugShow", "_boundingSphere", "slicePartitions", "subdivisions", "GEOVIEWSHED3D_TIP", "GEOVIEWSHED3D_SPOTID", "GeoViewShed3D", "spotLightHeight", "_shadowMapNum", "_spotLightCameraList", "expandShadowMapList", "spotLightPosition", "realTimeHeading", "realTimePitching", "realTimeDistance", "realTimeFieldAngle", "单击左键确定观察位置", "单击左键固定视域范围", "analysis", "observePtCoordinate", "frustumLength", "frustumField", "_terrainBias", "enableGeoViewShed3D", "lookAt", "fromHsl", "GeoVolumeCalculate_LINE", "GeoVolumeCalculate_TIP", "GeoVolumeCalculate_GON", "GeoVolumeCalculate_DEGON", "GeoVolumeCalculate_CORAL", "designElevation", "getValue", "shift", "polylineEntity", "volumeAnalysis", "VOLUME", "designPolygonEntity", "CORAL", "polygonEntity", "designPolygonEntity_coral", "左键点击绘制,右键点击结束", "15px sans-serif", "SingleBuildingWidget", "PrimitiveCollection", "CORNFLOWERBLUE", "highlightColor_click", "highlightColor_move", "_INTERSECTED_FLOOR", "_INTERSECTED_FLOOR2", "classificationPrimitiveCollection", "extrudeToBuilding", "_INTERSECTED_FLOOR3", "baseHeight", "sampleHeightSupported", "sampleHeight", "地形还未准备好!", "建筑物基础高度baseHeight是必需的!", "levels", "GEO_SINGLEBUILDING", "callback_click", "_primitiveOptions", "geometryInstances", "toString", "callback_move", "highlightFloor", "deActivate", "removeInputAction", "FlyAround", "_pitch", "_roll", "speed", "_distance", "_positionCartographic", "isFlying", "deltaHeight", "keyEvent", "preRender", "_play", "_heading", "deltaDistance", "play", "参数不可缺省!", "_preRender", "pause", "continue", "removeEventListener", "keydown", "shiftKey", "deltaRadians", "FreeFlight", "direct", "lat", "planePrimitive", "hpRoll", "fromBehind", "fixedFrameTransform", "pathPosition", "SampledPositionProperty", "speedVector", "hpRange", "readyPromise", "activeAnimations", "ModelAnimationLoop", "REPEAT", "boundingSphere", "range", "PolylineGlowMaterialProperty", "PALEGOLDENROD", "addSample", "JulianDate", "now", "headingPitchRollToFixedFrame", "lon", "postRender", "keydownOption", "keyCode", "RouteFly", "cartographicArray", "pointArray", "_stop", "cartesian3", "initialHeading", "differentBearing", "reduceBearing", "HorizontalRadian", "initializationFly", "clock", "startTime", "stopTime", "clockRange", "CLAMPED", "computeCirclularFlight", "addSeconds", "TRANSPARENT", "TimeInterval", "currentTime", "multiplier", "VerticalRadians", "WalkBrowse", "orientationAngle", "point1", "point2", "point3", "bearing1", "bearing2", "moveForward", "lookRight", "GeoCirclePipe", "topRadius", "bottomRadius", "_numSubGeometrys", "numSubGeometrys", "_imageColor", "imageColor", "_rotationXPerFrame", "rotationXPerFrame", "_rotationYPerFrame", "rotationYPerFrame", "rotationZPerFrame", "_instanceName", "endRadian", "_useImage", "_image", "_color", "multiplyByTranslation", "CirclePipeGeometry", "_startRadian", "_endRadian", "MaterialAppearance", "_waitForBuildingMaterial", "onTick", "onFrame", "_circlePipePrimitive", "fromRotationX", "fromRotationY", "fromRotationZ", "_rotationZPerFrame", "multiplyByMatrix3", "Image", "slices", "onMouseEnter", "onMouseLeave", "_onMouseLeftClick", "onMouseLeftClick", "_previousEnter", "_moveHandler", "_clickHandler", "images", "instanceNames", "_circlePipeCollection", "_onMouseEnter", "_onMouseLeave", "instanceName", "_center", "_drawCommandAlpha", "_drawCommandOpaque", "_needUpdate", "_va", "_speed", "_actived", "actived", "_lastTime", "_maxRadius", "_hSpeed", "_life", "_metallicFactor", "metallicFactor", "_roughnessFactor", "roughnessFactor", "_emissiveFactor", "emissiveFactor", "_initTransform", "_modelTransform", "_updateTime", "_updateCommands", "commandList", "vertexArray", "shaderProgram", "owner", "_updateVA", "_time", "getTimestamp", "_updateAlphaCommand", "_updateOpaqueCommand", "DrawCommand", "pass", "renderState", "RenderState", "fromCache", "WebGLConstants", "LEQUAL", "BlendingState", "ALPHA_BLEND", "ShaderProgram", "HDR", "uniformMap", "multiplyTransformation", "viewMatrix", "getRotation", "getMatrix3", "transpose", "Pass", "OPAQUE", "_computeStepCount", "createTypedArray", "ComponentDatatype", "FLOAT", "Buffer", "createVertexBuffer", "createIndexBuffer", "UNSIGNED_SHORT", "VertexArray", "_updateBoundingVolume", "round", "BoundingSphere", "attribute vec3 aPoint;\n", "attribute vec3 aNormal;\n", "attribute float aT;\n", "uniform mat3 u_normalMatrix;\n", "varying vec3 v_normalEC;\n", "varying vec3 v_positionEC;\n", "varying float v_t;\n", "void main(){\n", "   v_positionEC = (czm_modelViewRelativeToEye * vec4(aPoint, 1.0)).xyz;\n", "   v_normalEC = u_normalMatrix * aNormal;\n", "uniform vec4 u_color;\n", "uniform float u_metallicFactor;\n", "uniform float u_roughnessFactor;\n", "uniform vec3 u_emissiveFactor;\n", "float M_PI = 3.141592653589793;\n", "vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) \n", "    return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0);\n", "float smithVisibilityG1(float NdotV, float roughness) \n", "    return NdotV / (NdotV * (1.0 - k) + k);\n", "float smithVisibilityGGX(float roughness, float NdotL, float NdotV) \n", "    return smithVisibilityG1(NdotL, roughness) * smithVisibilityG1(NdotV, roughness);\n", "float GGX(float roughness, float NdotH) \n", "    float roughnessSquared = roughness * roughness;\n", "    float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0;\n", "    return roughnessSquared / (M_PI * f * f);\n", "vec3 lambertianDiffuse(vec3 diffuseColor) \n", "    return diffuseColor / M_PI;\n", "vec3 LINEARtoSRGB(vec3 linearIn) \n", "#ifndef HDR \n", "    return pow(linearIn, vec3(1.0/2.2));\n", "#else \n", "#endif \n", "   if (!gl_FrontFacing){\n", "       n = -n;\n", "   }\n", "   vec4 baseColorWithAlpha = u_color;\n", "   if (v_t > 0.5){", "       baseColorWithAlpha.a = (2.0 - v_t * 2.0);\n", "   else{\n", "       baseColorWithAlpha.a = 1.0;\n", "   vec3 baseColor = baseColorWithAlpha.rgb;\n", "   float metalness = clamp(u_metallicFactor, 0.0, 1.0);\n", "   float roughness = clamp(u_roughnessFactor, 0.04, 1.0);\n", "   vec3 lightColor = vec3(1.5, 1.4, 1.2);\n", "   vec3 h = normalize(v + l);\n", "   float NdotL = clamp(dot(n, l), 0.001, 1.0);\n", "   float NdotH = clamp(dot(n, h), 0.0, 1.0);\n", "   float VdotH = clamp(dot(v, h), 0.0, 1.0);\n", "   vec3 f0 = vec3(0.04);\n", "   vec3 diffuseColor = baseColor * (1.0 - metalness) * (1.0 - f0);\n", "   float alpha = roughness * roughness;\n", "   float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n", "   vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n", "   vec3 r0 = specularColor.rgb;\n", "   float G = smithVisibilityGGX(alpha, NdotL, NdotV);\n", "   float D = GGX(alpha, NdotH);\n", "   vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n", "   vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n", "   vec3 color = NdotL * lightColor * (diffuseContribution + specularContribution);\n", "   color += u_emissiveFactor;\n", "   color = LINEARtoSRGB(color);\n", "   gl_FragColor = vec4(color, baseColorWithAlpha.a);\n", "    float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n", "    return linearIn;\n", "   if (v_t > 0.5){discard;}\n", "   vec3 n = normalize(v_normalEC);\n", "   baseColorWithAlpha.a = 1.0;\n", "   vec3 v = -normalize(v_positionEC);\n", "   vec3 l = normalize(czm_sunDirectionEC);\n", "   float LdotH = clamp(dot(l, h), 0.0, 1.0);\n", "   vec3 specularColor = mix(f0, baseColor, metalness);\n", "   vec3 F = fresnelSchlick2(r0, r90, VdotH);\n", "viewer is required.", "DEFAULT_HEIGHT", "_radius", "GeoDynamicCircle", "_classificationType", "classificationType", "DEFAULT_CLASSIFICATION_TYPE", "_bottomEllipse", "_waveEllipse", "_createDynamicCircle", "isShow", "setShow", "_isShow", "setColor", "DEFAULT_COLOR", "ellipse", "getColor", "setRadius", "DEFAULT_RADIUS", "semiMajorAxis", "getRadius", "setCenter", "position is required.", "ImageMaterialProperty", "CallbackProperty", "rgba(255, 255, 255, 1.0)", "rgba(255, 255, 255, 0.0)", "rgba(255, 255, 255, 0.9)", "rgba(255, 255, 255, 0.2)", "clearRect", "beginPath", "arc", "restore", "strokeStyle", "rgb(255, 255, 255)", "setLineDash", "stroke", "center is required.", "_length", "GeoDynamicCylinder", "DEFAULT_LENGTH", "_topRadius", "_bottomRadius", "particlesColor", "DEFAULT_PARTICLES_COLOR", "_cylinderColor", "cylinderColor", "particlesImageUrl", "_cylinderPrimitive", "_createDynamicCylinder", "_particlesPrimitive", "\n                varying vec3 v_positionEC;\n                varying vec3 v_normalEC;\n                varying vec2 v_st;\n                //varying vec4 v_color;\n                //uniform sampler2D u_image;\n                //uniform vec4 u_color;\n                void main()\n                {\n                    float powerRatio = fract(czm_frameNumber / 30.0) + 1.0;\n                    float alpha = pow(1.0 - v_st.t, powerRatio);\n                    vec4 color = vec4(", "red", "green", "blue", "alpha", ");\n                    // gl_FragColor = vec4(u_color.rgb, alpha*u_color.a);\n                    gl_FragColor = vec4(color.rgb, alpha*color.a);\n                }\n                ", "particles primitive", "_particlesImageUrl", "\n            varying vec3 v_positionEC;\n            varying vec3 v_normalEC;\n            varying vec2 v_st;\n            //varying vec4 v_color;\n            //uniform sampler2D u_image;\n            //uniform vec4 u_color;\n            void main()\n            {\n                vec3 positionToEyeEC = -v_positionEC;\n                vec3 normalEC = normalize(v_normalEC);\n                normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\n                float dt = fract(czm_frameNumber / 90.0);\n                vec2 st = fract(vec2(1.0) + v_st - vec2(dt, dt));\n                //vec4 imageColor = texture2D(u_image, st);\n\n                czm_materialInput materialInput;\n                materialInput.normalEC = normalEC;\n                materialInput.positionToEyeEC = positionToEyeEC;\n                materialInput.st = st;\n                czm_material material = czm_getMaterial(materialInput);\n\n\n                vec3 diffuse = material.diffuse;\n                float alpha = material.alpha;\n\n                //diffuse *= v_color.rgb;\n                //alpha *= v_color.a;\n                \n                vec4 ucolor = vec4(", ");\n                diffuse *= ucolor.rgb;\n                alpha *= ucolor.a;\n\n                 //diffuse *= u_color.rgb;\n                 //alpha *= u_color.a;\n\n                gl_FragColor = vec4(diffuse, alpha * pow(1.0 - v_st.t, 2.0));\n            }\n            ", "\n            attribute vec3 position3DHigh;\n            attribute vec3 position3DLow;\n            attribute vec3 normal;\n            attribute vec2 st;\n            attribute float batchId;\n\n            varying vec3 v_positionEC;\n            varying vec3 v_normalEC;\n            varying vec2 v_st;\n\n            void main()\n            {\n                vec4 p = czm_computePosition();\n\n                v_positionEC = (czm_modelViewRelativeToEye * p).xyz;      // position in eye coordinates\n                v_normalEC = czm_normal * normal;                         // normal in eye coordinates\n                v_st = st;\n\n                gl_Position = czm_modelViewProjectionRelativeToEye * p;\n            }\n            ", "DEFAULT_CYLINDER_COLOR", "GOLD", "GeoHeatMap", "heatmapOptions", "orange", "useEntities", "defaults", "gradient", "maxOpacity", "minOpacity", "_computeBounds", "_getContainer", "width: ", "px; height: ", "body", "_getImageryProvider", "getDataURL", "_rectangle", "_tilingScheme", "WebMercatorTilingScheme", "_mbounds", "_getID", "charAt", "WebMercatorProjection", "wgs84ToMercator", "wgs84ToMercatorBB", "mercatorToWgs84", "mercatorToWgs84BB", "rad2deg", "deg2rad", "mercatorPointToHeatmapPoint", "_xoffset", "_factor", "_spacing", "maxCanvasSize", "minCanvasSize", "setData", "_initBounds", "_setWidthAndHeight", "radiusFactor", "_yoffset", "bounds", "_container", "px; margin: 0px; display: none;", "repaint", "_heatmap", "-hm", "wgs84PointToHeatmapPoint", "_layer", "imageryLayers", "updateLayer", "_renderer", "1.21", "transparent", "addImageryProvider", "url", "url is required.", "_url", "GeoImageCircle", "_ellipse", "_createImageCircle", "TERRAIN", "_position", "_direction", "_baseScale", "_mode", "buildModuleUrl", "_url_1", "urlTop", "explode", "_positions", "_startScale", "_endScale", "_imageSize", "_endColor", "smoking", "life", "_minLife", "_maxLife", "_minSpeed", "_maxSpeed", "_count", "_grow", "grow", "_texture_0", "_texture_1", "_drawCommand", "_pointsArray", "_speedScaleLifeTimesArray", "_preTime", "_loadTexture", "_initFires", "addPosition", "_explode", "_owner", "_fires", "_directionsArray", "frameState", "Resource", "Texture", "fetchImage", "_emissionPosition", "randomBetween", "_growFires", "baseScale", "_updateFire", "_initFire", "_clock", "shouldAnimate", "secondsOfDay", "_updateCommand", "_isCommandReady", "updateNext", "instanceCount", "_updateCommandBoundingVolume", "_updateCommandShaderProgram", "_updateCommandUniforms", "_updateCommandRenderState", "aPosition", "aDirection", "aSpeedScaleLifeTime", "_updateCommandVA", "time", "aTexcoord", "aPlane", "u_startScale", "u_endScale", "u_imageSize", "u_endColor", "u_texture_0", "u_texture_1", "_updateCommandModelMatrix", "attribute vec2 aPlane;\n", "attribute vec4 aDirection;\n", "attribute vec4 aSpeedScaleLifeTime;\n", "attribute vec2 aTexcoord;\n", "uniform float u_endScale;\n", "varying vec3 v_texcoord_0;\n", "varying vec4 v_colorFact;\n", "vec4 computePosition(vec3 position, vec2 plane, vec3 direction, float imageSize, float baseScale, float speed, float time){\n", "   vec3 v = normalize(direction) * speed * time;\n", "   vec4 result = czm_modelView * vec4(v, 1.0);\n", "   result.xy += plane * imageSize * baseScale;\n", "   return result;\n", "void main()\n", "   float speed = aSpeedScaleLifeTime.x;\n", "   float baseScale = aSpeedScaleLifeTime.y;\n", "   float life = aSpeedScaleLifeTime.z;\n", "   baseScale *= mix(u_startScale, u_endScale, t);\n", "   gl_Position = czm_projection * positionEC;\n", "   v_texcoord_0.z = aDirection.w;\n", "   if (t > 0.618){\n", "       v_texIndex = 2.0;\n", "   else if (t > 0.382){\n", "       v_texIndex = 1.0;\n", "       v_texIndex = 0.0;\n", "       v_colorFact = vec4(1.0 - t);\n", "       v_colorFact = mix(u_startColor, u_endColor, t);\n", "uniform sampler2D u_texture_0;\n", "uniform sampler2D u_texture_1;\n", "   int mode = int(v_texcoord_0.z);\n", "   vec4 color = vec4(0.0);\n", "   if (mode == 0){\n", "           color = texture2D(u_texture_1, v_texcoord_0.xy);\n", "           color = texture2D(u_texture_0, v_texcoord_0.xy);\n", "       }\n", "   else if (mode == 1){\n", "       color.rg *= 1.4;\n", "   else if (mode == 2){\n", "       color = v_colorFact;\n", "   if (color.a == 1.0){\n", "       color.a = mc;\n", "       if (color.a > 0.995){\n", "   vec4 fact = czm_gammaCorrect(v_colorFact);\n", "   color *= fact;\n", "   if (color.a < 0.1){discard;}\n", "   gl_FragColor = color;\n", "_normalFact", "_alphaFact", "GeoLineSmokeEffect", "_startColor", "density", "normalFactor", "_smokes", "_needTime", "_door", "_maxNormalFactor", "_minNormalFactor", "_growSmokes", "_initSmokes", "_initSmoke", "multiply", "fromRotationTranslation", "multiplyByPointAsVector", "alphaFact", "normalFact", "_updateSmoke", "_udoor", "TRANSLUCENT", "_updateCommandShaderProgramAlpha", "_updateCommandRepeatVA", "_updateCommandShaderProgramOpaque", "IndexDatatype", "u_startColor", "attribute vec4 aPosition;\n", "uniform vec4 u_endColor;\n", "uniform float u_imageSize;\n", "   vec3 v = position;\n", "   result /= result.w;\n", "   float time = aSpeedScaleLifeTime.w;\n", "   float t = time / life;\n", "   vec4 positionEC = computePosition(aPosition.xyz, aPlane, aDirection.xyz, u_imageSize, baseScale, speed, time);\n", "   v_texcoord_0.xy = aTexcoord;\n", "   v_texcoord_0.z = t;\n", "   color = texture2D(u_texture_0, v_texcoord_0.xy);\n", "   vec4 fact = v_colorFact;\n", "   if (v_texcoord_0.z > 0.9){color.a *= 0.1;}\n", "uniform vec4 u_startColor;\n", "uniform float u_startScale;\n", "   v_colorFact = vec4(mix(u_startColor.rgb, u_endColor.rgb, aPosition.w * (u_startColor.a + u_endColor.a) / 2.0), aPosition.w);\n", "   if (v_texcoord_0.z > 0.9){discard;}\n", "   color = czm_gammaCorrect(color);\n", "playing", "sampleMaxHeight", "sampleMaxPoint", "isParabola", "autoToGround", "_name", "createGuid", "render", "_data", "posititons", "getData", "_createPolylines", "_lines", "duration", "_clearPolylines", "_definitionChanged", "Event", "createPropertyDescriptor", "getType", "getValueOrClonedDefault", "_materialCache", "addMaterial", "GeoOutlineFireEffect", "_fireEffect", "_postProcess", "_assigned", "_depthAttachment", "_clearCommand", "_yPlane", "_zPlane", "_xyRange", "_checkPositionsOrder", "_createGroundTexture", "_createXYPlanes", "_createPostProcess", "_updateAssiged", "_viewMatrix", "_invViewMatrix", "postProcessStages", "useLogDepth", "_createFireEffect", "GeoLineFireEffect", "_computePlane", "_createAssignedFrameBuffer", "drawingBufferWidth", "drawingBufferHeight", "_framebuffer", "PixelFormat", "DEPTH_STENCIL", "PixelDatatype", "UNSIGNED_INT_24_8", "Sampler", "CLAMP_TO_EDGE", "TextureWrap", "TextureMinificationFilter", "NEAREST", "TextureMagnificationFilter", "Framebuffer", "ClearCommand", "addFireEffect", "addSmokeEffect", "_depthStencilTexture", "_view", "passState", "framebuffer", "execute", "uniform mat4 u_nViewMatrix;\n", "uniform int u_count;\n", "uniform vec4 u_planes[", "];\n", "uniform vec4 u_xPlane;\n", "uniform vec4 u_yPlane;\n", "uniform vec4 u_zPlane;\n", "uniform vec2 u_xyRange;\n", "uniform sampler2D colorTexture;\n", "uniform sampler2D depthTexture;\n", "uniform sampler2D u_assignedTexture;\n", "uniform sampler2D u_groundTexture;\n", "varying vec2 v_textureCoordinates;\n", "vec4 toEye(in vec2 uv, in float depth){\n", "    vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0));\n", "    posInCamera = posInCamera / posInCamera.w;\n", "float getDepth(in vec4 depth){\n", "    float z_window = czm_unpackDepth(depth);\n", "    z_window = czm_reverseLogDepth(z_window);\n", "    float n_range = czm_depthRange.near;\n", "    float f_range = czm_depthRange.far;\n", "    return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n", "vec2 getGroundTexCoord(in vec3 position){\n", "    float y = czm_planeDistance(u_yPlane, position) / u_xyRange.y;\n", "    return vec2(x * 4.0, y * 4.0);\n", "    vec4 color = texture2D(colorTexture, v_textureCoordinates);\n", "    vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n", "    if(currD.r>=1.0){\n", "        gl_FragColor = color;\n", "        return;\n", "    vec4 assigned = texture2D(u_assignedTexture, v_textureCoordinates);\n", "    }\n", "    float depth = getDepth(currD);\n", "    float z = czm_planeDistance(u_zPlane, position.xyz);\n", "    vec2 gndTexCoord = getGroundTexCoord(position.xyz);\n", "    vec4 colorGround = texture2D(u_groundTexture, gndTexCoord);\n", "    for (int i = 0; i < ", "        if (i >= u_count){\n", "            break;\n", "        }\n", "        float d0 = czm_planeDistance(u_planes[i], position.xyz);\n", "        float d2 = czm_planeDistance(u_planes[i+2], position.xyz);\n", "        if (d0 > 0.0 && d1 > 0.0 && d2 > 0.0){\n", "           if (z < -1000.0){break;}\n", "           break;\n", "PostProcessStage", "_groundTexture", "_xPlane", "urlGround", "function ", "join", "l-1", ";while(l<=h){                var m=(l+h)>>>1,x=a[m]", ";if(x===y){return m}else if(x<=y){", ";var p=c(x,y);if(p===0){return m}else if(p<=0){", ";if(", "){i=m;", "l=m+1}else{h=m-1}", "h=m-1}else{l=m+1}", "return -1};", "return i};", "c(x,y)", "function dispatchBsearch", "(a,y,c,l,h){                    if(typeof(c)==='function'){                        return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)                    }else{                        return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)                    }}                    return dispatchBsearch", "triangulation", "binary-search-bounds", "stars", "edges", "removeTriangle", "addTriangle", "flip", "opposite", "cells", "neighbor", "flags", "next", "locate", "boundary", "constraint", "two-sum", "twoProduct", "fastTwoSum", "robust-subtract", "robustSubtract", "robust-sum", "linearExpansionSum", "two-product", "robust-scale", "scaleLinearExpansion", "sum(", "split", "substr", "prod(", "scale(", "prod(m", "var w", "=scale(w", "[0]);", "var p=", "sum", "diff", "slow", "function testInSphere(", ":return o", "robust-in-sphere", "delaunay", "isConstraint", "),prod(-", "Exact", "){var p=", ",n=", ",d=sub(p,n);        return d[d.length-1];};return ", "prod", "function getOrientation(", "case ", "}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation", "robust-orientation", "monotone", "idx", "lowerIds", "upperIds", "monotoneTriangulate", "cdt2d", "delaunayRefine", "classifyFaces", "map", "exterior", "infinity", "_points", "peekTransform", "anyDirection", "take", "_rings", "_find", "_fixups", "_checkCell", "triangulate", "GeoPolygonClippingEffect", "_clipResult", "clipResult", "_maskColor", "maskColor", "_polygons", "_areaCamera", "isTriangle", "Hide", "Show", "_enabled", "_disableAll", "_initialize", "_parseTriangles", "_translateToTriangles", "_adjustOrder", "_parsePolygons", "adjustOrder", "_enableAll", "_enableHideAll", "_enableShowAll", "_disableHideAll", "_disableShowAll", "_enablePrimitiveCollection", "_enableGlobe", "skyAtmosphere", "_disablePrimitiveCollection", "_disableGlobe", "skyBox", "_enablePrimitive", "_disablePrimitive", "_enableEntityCluster", "Model", "_enableModel", "EntityCluster", "_disableEntityCluster", "_disableModel", "_pointCollection", "_pointPrimitives", "_generateClipPlanes", "_clearSurfaceClippingPlanes", "_tilesInvalidated", "_tileProvider", "_clippingPlanes", "_surfaceShaderSet", "_resetSurfaceShaderSet", "_shadersByTexturesFlags", "_calcClipCenter", "fromTranslation", "_shouldRegenerateShaders", "_generateHidePlanes", "_generateShowPlanes", "_generateSourcePlanes", "GRAY", "mularea", "clip", "clippingFunctionMularea", "float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix)\n", "    vec3 clipNormal = vec3(0.0);\n", "    float clipAmount = 0.0;\n", "    float pixelWidth = czm_metersPerPixel(position);\n", "    bool bDiscard = true;\n", "    {\n", "        vec4 clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "        clipNormal = clippingPlane.xyz;\n", "        clipPosition = -clippingPlane.w * clipNormal;\n", "        float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "        if (amount > 0.0)\n", "        {\n", "           j++;\n", "           clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "           clipNormal = clippingPlane.xyz;\n", "           clipPosition = -clippingPlane.w * clipNormal;\n", "           clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "           if (amount > 0.0)\n", "           {\n", "               clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "               clipNormal = clippingPlane.xyz;\n", "               amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "               clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "               {\n", "                   bDiscard = false;\n", "                   break;\n", "               }\n", "           }\n", "    if (bDiscard) {\n", "        discard;\n", "getClipAndStyleCodeForMulArea", "uniform sampler2D gltf_clippingPlanes; \n", "uniform mat4 gltf_clippingPlanesMatrix; \n", "uniform vec4 gltf_clippingPlanesEdgeStyle; \n", "{ \n", "    gltf_clip_main(); \n", "); \n", "    clippingPlanesEdgeColor.rgb = ", ".rgb; \n", "    float clippingPlanesEdgeWidth = ", "    if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) \n", "        gl_FragColor = clippingPlanesEdgeColor;\n", "    } \n", "} \n", "    vec3 clipPosition = vec3(0.0);\n", "        int j = i;\n", "        clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "           amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "               j++;\n", "               if (amount > 0.0)\n", "        //break;\n", "void main() \n", "    float clipDistance = clip(gl_FragCoord, ", ".a; \n", "    if (clipDistance < 0.0) \n", "    { \n", "peekSource", "addOutlinePosition", "_outline", "tileUnload", "raiseEvent", "_statistics", "decrementLoadCounts", "numberOfTilesWithContentReady", "unloadContent", "_enableTileset", "_root", "_removeEffectFromTileset", "_cache", "trim", "unloadTiles", "_unloadTileCallback", "GeoRadarScan", "DEFAULT_LINE_WIDTH", "_sectorColor", "_sectorWidth", "sectorWidth", "DEFAULT_SECTOR_WIDTH", "_createRadarScan", "_updateBorderMaterial", "_updateSectorMaterial", "_radarScanEntity", "_borderEntity", "setLineColor", "getLineColor", "setsectorColor", "radar", "rgba(", "rgba(255,255,255,1)", "255,255,255", ",1)", "moveTo", "lineTo", "fill", "_createCanvas", "GeoScanCircleEffect", "_repeat", "repeat", "_scanCirclePostProcess", "_scanAperturePostProcess", "_normal", "_setLife", "_setTime", "_color0", "_finishedEvent", "_updatePostProcesses", "_finish", "inverseViewMatrix", "_updateScanAperturePostProcess", "_updateScanCirclePostProcess", "uniform mat4 u_invViewMatrix;\n", "uniform vec3 u_center;\n", "   vec4 color = texture2D(colorTexture, v_textureCoordinates);\n", "   vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n", "   if(currD.r >= 1.0){\n", "       return;\n", "   float zd = czm_unpackDepth(currD);\n", "   zd = czm_reverseLogDepth(zd);\n", "   zd = (2.0 * zd - czm_depthRange.near - czm_depthRange.far) / (czm_depthRange.far - czm_depthRange.near);\n", "   vec2 xy = vec2((v_textureCoordinates.x * 2.0 - 1.0), (v_textureCoordinates.y * 2.0 - 1.0));\n", "   vec4 position = czm_inverseProjection * vec4(xy, zd, 1.0);\n", "   float z = 0.0;\n", "   if (all(notEqual(n, b))){\n", "       vec3 nc = cross(b, n);\n", "       b = normalize(b);\n", "       z = dot(b, position.xyz) - dot(b, u_center);\n", "   float d5 = u_param0.z * u_param0.y;\n", "   float hw = u_param0.w / 2.0;\n", "   float hw5 = hw * 12.0;\n", "   float hd = dot(u_normal, position.xyz) - dot(u_normal, u_center);\n", "   if (z < (d5 + hw5) && z > (d5 - hw5)){\n", "       color.rgb = mix(color.rgb, u_color.rgb, smoothstep(0.0, 1.0, z1));\n", "       float r = abs(z - d);\n", "       if (u_color.a < 1.0){\n", "           z = (r - hw * u_color.a) / (hw * (1.0 - u_color.a));\n", "       color.rgb = mix(color.rgb, u_color.rgb, clamp(al * ((hw * u_color.a > r) ? 1.0 : exp(-(pow(z, 2.27)))), 0.0, 1.0));\n", "invViewMatrix", "uniform vec3 u_normal;\n", "uniform vec4 u_param0;\n", "   position /= position.w;\n", "   float t = (u_param0.y > u_param0.x) ? u_param0.x : u_param0.y;\n", "   vec3 b = normalize(position.xyz - u_center);\n", "       b = cross(n, nc);\n", "   float d = u_param0.z * t;\n", "       float r = abs(z - d5);\n", "       color.rgb *= ((r / hw5) > 0.5) ? 0.996 : 1.018;\n", "       color.rgb += vec3(0.01) * u_color.rgb;\n", "   if (z < (d + hw) && z > (d - hw)){\n", "       r = 1.5707963 * r / hw;\n", "       color.rgb = color.rgb * vec3(0.618) + u_color.rgb * vec3(cos(r) * 0.382);\n", "GeoScanRingEffect", "longest", "_textureUrl", "_scanPostProcess", "_texture", "_param1", "_param3", "_loading", "_checkVisible", "_updateTexture", "_udpateParams", "setTextureUrl", "_param0", "_param4", "_longest", "only-if-cache", "_param2", "uniform vec4 u_param3;\n", "       gl_FragColor = color;\n", "   position = u_invViewMatrix * position;\n", "   float z0 = dot(u_param3.xyz, position.xyz) + u_param3.w;\n", "   if(z0 < -800.0 || z0 > 800.0){\n", "   vec3 v = u_param3.xyz * z0;\n", "   vec3 p = position.xyz - v;\n", "   float z2 = distance(u_param0.xyz, p);\n", "   float z3 = u_param2.x * 0.75;\n", "   if(z2 < z3){\n", "   gl_FragColor = mix(color, u_color, (z2 - z3) * 0.8 / (u_param2.x * 0.25));\n", "uniform vec4 u_param2;\n", "uniform vec4 u_param4;\n", "   float z0 = dot(u_param0.xyz, position.xyz) + u_param0.w;\n", "   if(z0 < 0.0){\n", "   float z1 = dot(u_param1.xyz, position.xyz) + u_param1.w;\n", "   if(z1 < 0.0){\n", "   float z2 = dot(u_param2.xyz, position.xyz) + u_param2.w;\n", "   if(z2 < 0.0){\n", "   float z3 = dot(u_param3.xyz, position.xyz) + u_param3.w;\n", "   if(z3 < 0.0){\n", "   float z4 = dot(u_param4.xyz, position.xyz) + u_param4.w;\n", "   float a = max(sColor.r, max(sColor.g, sColor.b));\n", "   gl_FragColor = mix(color, sColor, a * 0.8);\n", "_angle", "angle", "emit", "velocity", "imageSize", "_particleLife", "particleLife", "_emissionRate", "emissionRate", "_lifetime", "lifetime", "_system", "_initializeParticleSystem", "_reset", "_particles", "_billboard", "_particlePool", "VisualSenseStyleCondition", "_fieldName", "_fieldValue", "fieldValue", "minValue", "_maxValue", "maxValue", "_topic", "topic", "vec4(", "_makeColorShader", "if (visualSenseStyle_enabledMixColor == 1.0) { \n", "gl_FragColor *= ", "_minValue", " == ", ".0) \n", "if (", ".0 && ", "_makeLuminanceShader", ") \n", " >= ", " && ", "mixedColor", "luminanceAtZenith", "getLuminanceByProperty", "true", "getProperty", "ConditionParser", "parse", "fieldName", "_useElevation", "bloom", "glowOnly", "contrast", "brightness", "sigma", "stepSize", "isSelected", "GeoVisualSenseStyle", "_enabledMixedColor", "_enabledLuminanceAtZenith", "_enabledBloom", "_bloomStep", "_map", "_conditionParser", "_mixedColorConditions", "parseLuminanceAtZenith", "lightBand", "_enabledLightBand", "_luminanceAtZenithConditions", "conditions", "makeFragmentColorShader", "if (visualSenseStyle_enabledLuminanceAtZenith == 1.0) { \n", "luminanceValue = heightLightValue; \n", "makeShader", "makeLightBandShader", "float vtxf_a13 = fract(czm_frameNumber / 360.0);\n", "float vtxf_h = clamp(v_elevationPos.z / 300.0, 0.0, 1.0);\n", "vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0;\n", "float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13));\n", "gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - vtxf_diff);\n", "GeoWind", "level", "rectangle", "velocityScale", "particleMultiplier", "maxWindIntensity", "colors", "#00ffff", "#64f0ff", "#87e1ff", "#a0d0ff", "#c6adff", "#d49bff", "#ec6dff", "#ff1edb", "canvasContext", "_initWindy", "Windy", "header", "parameterCategory", "parameterNumber", "2,2", "2,3", "lo1", "la1", "refTime", "setHours", "getHours", "forecastTime", "interpolate", "release", "randomize", "substring", "indexFor", "rgba(0, 0, 0, 0.97)", "age", "globalCompositeOperation", "fillRect", "timer", "field", "_locationCoordinate", "_size", "_bounds", "tan", "_getLevel", "_getCenterPoint", "_calculateBounds", "1.16", "windy", "GEO_OVERVIEW_ICO_LAYER", "GEO_OVERVIWE_ICO_ID", "map2DOptions", "raster", "http://t3.tianditu.com/vec_c/wmts?SERVICE=WMTS&REQUEST=GetTile&LAYER=vec&TILEMATRIXSET=c&FORMAT=tiles&VERSION=1.0.0&STYLE=default&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e90d56e5a09d1767899ad45846b0cefd", "tdt_layer_overview", "visible", "movingTargetIco", "movingTargetIcoSize", "movingTargetZoomLevel", "_isReady", "modelType", "ROAM", "_initOverview", "geo-cesium-viewer-overview", "layout", "toLocaleUpperCase", "startsWith", "bottom", "5px", "absolute", "_bindEvent", "map2D", "load", "loadImage", "addImage", "addSource", "addLayer", "updateAimingRect", "_unbindEvent", "GEOOVERVIEW_3D_RENDER_EVENT", "getMap2D", "getMap2DLayer", "getLayer", "addMap2DLayer", "removeLayer", "getMap2DSource", "addMap2DSource", "removeMap2DSource", "_latelyUpdateStamp", "_modelType", "getSource", "setLayoutProperty", "icon-rotate", "setModel", "setScalable", "boolean", "GeoOverviewWidget", "CustomGeographicTilingScheme", "_resolutions", "resolutions", "_maximumLevel", "_origin", "_fullExtent", "fullExtent", "_dataRectangle", "_matrixWidth", "_matrixHeight", "LN2", "_topTileExtent", "_numberOfLevelZeroTilesY", "_centerPoint", "_proposalHeight", "GeographicTilingScheme", "_numberOfLevelZeroTilesX", "getNumberOfXTilesAtLevel", "CustomWebMercatorTilingScheme", "matrixWidth", "numberOfLevelZeroTilesX", "numberOfLevelZeroTilesY", "_rectangleSouthwestInMeters", "rectangleSouthwestInMeters", "rectangleNortheastInMeters", "_rectangleNortheastInMeters", "getNumberOfYTilesAtLevel", "LineString", "GeoGeodesic", "radiansToDegrees", "degreesToRadians", "atan2", "_destination", "along", "_bearing", "geoTranslateByDistance", "GeoGeographicTilingScheme", "GeographicProjection", "when", "defer", "ToolManager", "_tools", "ModifyTerrainTool", "vertices", "heights", "mtHeight", "mtType", "fromKML", "resolve", "lenght", "timeStamp", "getTileDataAvailable", "_errorEvent", "_credit", "string", "Credit", "heightMapWidth", "heightMapHeight", "_subdomains", "firstRequestUrl", "{s}", "sTag", "_firstRequest", "layerName", "&Styles=&Format=image/mpt", "pngOnly", "maxTerrainLevel", "_maxTerrainLevel", "setFormatMPT", "_urlTemplate", "request=GetMap&Version=1.3.0&Service=WMS&v=1&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers=", "_format", "_levelZeroMaximumGeometricError", "TerrainProvider", "_workerPool", "_pendingRequests", "_requestsCache", "_requestsCacheKeys", "errorEvent", "GeoSkylineTerrainProvider", "_geometricErrorFactor", "mpt", "png", "_isMPT", "replace", "requestFactorForLevel", "_requestGridSize", "getRequestBaseTerrainUrl", "getRequestElevationLayer", "getRequestUrl", "tilingScheme", "tileXYToNativeRectangle", "{north}", "{west}", "{east}", "{optimizedOnly}", "{height}", "isT_Inside_E", "DEGREES_PER_RADIAN", "isT_Intersects_E", "RADIANS_PER_DEGREE", "refreshElevationLayer", "_surface", "_levelZeroTiles", "findDirectParent", "freeResources", "isTileAvailable", "tileXYToRectangle", "terrainData", "_childTileMask", "markTileAsUnavailable", "requestTileGeometryBuffers", "requestedRectangle", "layer", "requestTileHeightBuffer", "all", "myReject", "reject", "isFloor", "arrayToHeightmapTerrainData", "otherwise", "_allElevationLayers", "each", "requestElevationLayerTileGeometry", "requestBaseTerrainTileGeometry", "nullTolerance", "nullValueNumber", "polygonVerticesX", "polygonVerticesY", "mergeBuffers", "offset", "tolerance", "_buffer", "Request", "subdomains", "/SG", "/Elevation", "format", "image/png", "image/mpt", "_modifyTerrainObjects", "modelFloorBestLevel", "NoMerge", "_selectedTiles", "NoFloor", "rootFloorRectangle", "getHRMTFP", "_model", "hasOwnProperty", "dataLoaded", "fetchArrayBuffer", "workerFinished", "queueWorkItem", "rejected", "extractTileHeightBuffer", "message", "HeightmapTerrainData", "workerPath is required.", "_workerPath", "workerPath", "_poolSize", "poolSize", "_workers", "_defered", "jobQueueSize", "onWorkerError", "workerId", "deferedId", "postMessage", "trimPool", "timerId", "terminate", "onWorkerMessage", "options.urls is required.", "_dataType", "dataType", "GeoTerrainProvider", "INT", "_tileType", "tileType", "HEIGHTMAP", "_urls", "urls", "_urls_length", "_url_i", "_url_step", "_readyPromise", "credit", "_heightmapWidth", "_heightmapHeight", "getEstimatedLevelZeroGeometricErrorForAHeightmap", "_opacity", "opacity", "_maxExtent", "maxExtent", "_topLevel", "_bottomLevel", "bottomLevel", "ready", "requestTileGeometry must not be called before ready returns true.", "promise", "requestTileGeometry", "&y=", "&l=", "_proxy", "getURL", "QUANTIZED_MESH", "_terrainDataStructure", "_skirtHeight", "getLevelMaximumGeometricError", "getvHeightBuffer", "_vHeightBuffer", "transformBuffer", "setInt8", "requestFunction", "GET", "open", "responseType", "arraybuffer", "async", "RequestScheduler", "request", "readyState", "status", "response", "byteLength", "Inflate", "decompress", "_rectangles", "getFloat64", "getFloat32", "subarray", "getUint32", "createTypedArrayFromArrayBuffer", "getUint8", "OCT_VERTEX_NORMALS", "_requestVertexNormals", "WATER_MASK", "METADATA", "_requestMetadata", "available", "endY", "EPSILON5", "fromRectangle", "_tileCredits", "int", "float", "quantized-mesh", "heightmap", "tileset", "source", "autoActivate", "originalColor", "fromBytes", "moveColor", "selectedFeature", "groundPrimitiveCollection", "geojson", "activateAction", "_seletedEvent", "XMLHttpRequest", "withCredentials", "Accept", "application/json", "onerror", "statusText", "onload", "_loadGroundPrimitives", "data的类型不被支持!", "Polygon", "类型,该类型不被支持!", "GEO_MONOMER_FEATURE", "reloadGeoJSON", "_loadGeoJSON", "description", "isContaintFeature", "drillPick", "selectedColor", "deactivateAction", "Cesium3DTilesetMonomer", "EasingFunction", "Intersect", "OrthographicFrustum", "PerspectiveFrustum", "CameraFlightPath", "_transform", "_invTransform", "_actualTransform", "_transformChanged", "isTDT", "_positionWC", "_directionWC", "_up", "_upWC", "_right", "aspectRatio", "fov", "defaultMoveAmount", "defaultLookAmount", "defaultRotateAmount", "defaultZoomAmount", "maximumZoomFactor", "_moveEnd", "_changed", "_changedDirection", "_changedFrustum", "percentageChanged", "_modeChanged", "_max2Dfrustum", "_suspendTerrainAdjustment", "DEFAULT_VIEW_RECTANGLE", "DEFAULT_VIEW_FACTOR", "TRANSFORM_2D", "TRANSFORM_2D_INVERSE", "PI_OVER_FOUR", "computeView", "_updateCameraChanged", "numberOfListeners", "_changedPosition", "fovy", "_adjustHeightForTerrain", "basisTo2D", "getColumn", "EPSILON10", "inverseTransformation", "_actualInvTransform", "_rightWC", "zeroToTwoPi", "MORPHING", "_moveStart", "mode is required.", "An OrthographicOffCenterFrustum is required in 2D.", "A PerspectiveFrustum or OrthographicFrustum is required in 3D and Columbus view", "The camera frustum is expected to be orthographic for 2D camera control.", "tileProvider", "_tileLoadQueueHigh", "_tileLoadQueueMedium", "_tileLoadQueueLow", "_debug", "tilesWaitingForChildren", "pickPositionWorldCoordinates", "ROTATE", "fromHeadingPitchRoll", "endTransform", "getRectangleCameraCoordinates", "flyHome", "completeMorph", "flyTo", "cartesian is required.", "worldToCameraCoordinatesVector", "cameraToWorldCoordinates", "cameraToWorldCoordinatesPoint", "cameraToWorldCoordinatesVector", "direction is required.", "moveUp", "moveDown", "moveRight", "lookLeft", "lookDown", "twistLeft", "axis is required.", "rotateDown", "rotateLeft", "zoomOut", "offset is required", "lookAt is not supported while morphing.", "UNIT_Y", "transform is required", "lookAtTransform is not supported while morphing.", "setEndPoints", "_offCenterFrustum", "MAX_VALUE", "rectangle is required", "windowPosition is required.", "near", "distanceToBoundingSphere", "boundingSphere is required.", "getPixelSize", "drawingBufferHeight is required.", "getPixelDimensions", "EXPONENTIAL_OUT", "createCorrectPositionTween", "duration is required.", "_currentFlight", "destination is required.", "cancelFlight", "convert", "complete", "cancel", "pitchAdjustHeight", "flyOverLongitude", "flyOverLongitudeWeight", "easingFunction", "createTween", "DEFAULT_OFFSET", "viewBoundingSphere is not supported while morphing.", "fromCartesian4", "radii", "multiplyComponents", "oneOverRadii", "upWC", "computeVisibility", "fromCartographicArray", "EPSILON9", "switchToPerspectiveFrustum", "switchToOrthographicFrustum", "projectionMatrix", "CameraEventType", "_update", "_isDown", "_movement", "prevAngle", "_buttonsDown", "position1", "_eventHandler", "PINCH_END", "PINCH_MOVE", "_eventStartPosition", "_pressTime", "_releaseTime", "RIGHT_DOWN", "RIGHT_UP", "MIDDLE_DRAG", "MIDDLE_UP", "_lastMovement", "valid", "canvas is required.", "_currentMousePosition", "ALT", "type is required.", "GeoCloudPrimitive", "speedScale", "_base", "_step", "_gamma", "gamma", "_isInverse", "_animationMatrix", "_colorTexture_0", "_requestUrl", "_requestCommand", "../../../resource/images/10.jpg", "_url_0", "_createTexture", "_context", "RGBA", "CloudPrimitive fetchImage is failed!", "passes", "_isTexturesReady", "_timeoutWorkerCommand", "_updateAnimationMatrix", "_createCommandByWorker", "var PI_OVER_TWO = PI / 2.0;\n", "onmessage = function (e) {\n", "   var xCount = params.xCount;\n", "   if (!xCount){\n", "   var yCount = params.yCount;\n", "   if (!yCount){\n", "       postMessage({error:true});\n", "   var radius = params.radius;\n", "   if (!radius){\n", "   var pointsCount = (xCount + 1) * (yCount - 1) + 2 * xCount;\n", "   var pointsArray = new Float32Array(3 * pointsCount);\n", "   var texcoordArray = new Float32Array(2 * pointsCount);\n", "   var ptIndex = 0;\n", "   var tcIndex = 0;\n", "   var hFovRad = PI * 2.0;\n", "   var angleH = 0;\n", "   var angelV = 0;\n", "   var stepVRad = vFovRad / yCount;\n", "   for (var F = 0; F < xCount; F++){\n", "       pointsArray[ptIndex ++] = 0.0;\n", "       pointsArray[ptIndex ++] = -radius;\n", "       texcoordArray[tcIndex ++] = F / xCount + 1 / (xCount * 2.0);\n", "       texcoordArray[tcIndex ++] = 0.0;\n", "   var startHRad = -PI;\n", "   var startVRad = -PI_OVER_TWO + stepVRad;\n", "   for (var U = 0; U < yCount - 1; U++) {\n", "       angelV = startVRad + U * stepVRad;\n", "           angleH = startHRad + F * stepHRad;\n", "           pointsArray[ptIndex ++] = radius * Math.cos(angelV) * Math.cos(angleH);\n", "           pointsArray[ptIndex ++] = radius * Math.cos(angelV) * Math.sin(angleH);\n", "           pointsArray[ptIndex ++] = radius * Math.sin(angelV);\n", "           tt = 0.5 + angleH / hFovRad;\n", "           texcoordArray[tcIndex ++] = tt;\n", "           texcoordArray[tcIndex ++] = (U + 1) / yCount;\n", "       pointsArray[ptIndex ++] = radius;\n", "       texcoordArray[tcIndex ++] = 1.0;\n", "   var faceIndexCount = (xCount * (yCount - 2) + xCount) * 6;\n", "   var faceIndex = 0;\n", "   for (var F = 0; F < xCount; F ++){\n", "       faceIndexArray[faceIndex ++] = F + xCount + 1;\n", "       faceIndexArray[faceIndex ++] = F + xCount;\n", "   for (var U = 0; U < yCount - 2; U ++){\n", "           faceIndexArray[faceIndex ++] = F + xCount + U * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + 1 + U * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + 1 + (U + 1) * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + (U + 1) * (xCount + 1);\n", "       faceIndexArray[faceIndex ++] = F + xCount + (yCount - 2) * (xCount + 1);\n", "   postMessage({\n", "       faceIndexArray: faceIndexArray\n", "};\n", "onerror = function(error){\n", "application/javascript", "onmessage", "faceIndexArray", "PrimitiveType", "TRIANGLES", "FUNC_ADD", "ONE", "_createShaderProgram", "cull", "_card", "        attribute vec3 a_position;\n        attribute vec2 a_texcoord_0;\n        uniform mat4 u_animationMatrix;\n        varying vec2 v_texcoord_0;\n        ", "        void main()\n        {\n            vec4 p = vec4(a_position, 1.0);\n            v_texcoord_0 = a_texcoord_0;\n            gl_Position = czm_modelViewProjection * u_animationMatrix * p;\n        }\n        ", "        uniform sampler2D u_colorTexture_0;\n        uniform vec4 u_gamma;\n        varying vec2 v_texcoord_0;\n        ", "        float computeW(vec4 color){\n            float w = color.w;\n            if (w == 1.0){\n                //w = min(min(color.r, color.g), color.b);\n                w = sin(color.r * color.g * color.b * 1.5707963);\n            }\n            w = pow(w, u_gamma.w * 10.0);\n            return w;\n        }\n        void main()\n        {\n            vec4 color_0 = texture2D(u_colorTexture_0, v_texcoord_0);\n            color_0.w = computeW(color_0);\n            color_0.rgb *= u_gamma.xyz;\n            gl_FragColor = color_0;\n        }\n        ", "topCylinderColor", "bottomCylinderColor", "createPrestrainPrimitive", "ellipseAppearance", "prestrainEllipsePrimitive", "trackedEntity", "pointEntity", "ellipsePrimitive", "cylinderPrimitive", "MIDDLE_DOWN", "prestrainCylinderPrimitive", "removeById", "EllipseGeometry", "VERTEXT_FORMAT", "POSITION_AND_NORMAL", "data:image/png;base64,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0p8zAAA6E2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE5LTA2LTExVDA5OjQ2OjU3KzA4OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTktMDYtMTFUMTA6MTY6NTMrMDg6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE5LTA2LTExVDEwOjE2OjUzKzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjNkNWU2OTU5LTZiOTMtZTQ0Mi1hNmFkLWVhMmExOWQxZGI0MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo5ODQ4MzQ2Ny03Mjg5LTUzNGQtOTUyOC05MGY3MWU0MTEwMmU8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo5ODQ4MzQ2Ny03Mjg5LTUzNGQtOTUyOC05MGY3MWU0MTEwMmU8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6OTg0ODM0NjctNzI4OS01MzRkLTk1MjgtOTBmNzFlNDExMDJlPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTA2LTExVDA5OjQ2OjU3KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozZDVlNjk1OS02YjkzLWU0NDItYTZhZC1lYTJhMTlkMWRiNDE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDYtMTFUMTA6MTY6NTMrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pu16zW8AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAEbhJREFUeNrsW3t0VPWd//x+9955ZDKTyeRNnrxCXEGEgAqyQXqEWmtdtbj0gVsaaVfWB6tSjh5r67J2j0qhPrrWcnqaLisKVK0bLdsKIiBGBOVhSYiERwghk5AQ8pqZ3Dv3/r77x/yGjrOZyUSC7jnu95zfyeP+Ht/f5/5+3/dlRIQvM3F8yenzACAPwDIAc0cwZhyABwBUXGrm1Es4dz6AbwGYB+BvAPzrCMZ6AHwfwE0A3gewGcChS8EkuwQy4DYA1QBKAZwDsA/AWwB2AwiN4GRWArgRwLUACgB0A3gNwDP/VwH4HoD7ANgB/BnAbwHUj9Lc2QDuBPB3AHwAXgHw41GZmYguts0mov1EdISIVozCfMO1hUT0ARE1EdGdFzvfxTKzjoi6ieipz2Hj8W0JEZ0moneJKOPzBiCfiE4Q0SEiKv0CNh/bXiaiEBF97bOM/ywyYB6APwFYB+DeEYzzAZgG4DKp5nwAFPlMABgA0Azg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", "varying vec3 v_positionMC;\n\t\t\t\tvarying vec3 v_positionEC;\n\t\t\t\tvarying vec2 v_st;\n\t\t\t\t\n\t\t\t\tvoid main()\n\t\t\t\t{\n\t\t\t\t\tczm_materialInput materialInput;\n\t\t\t\t\tvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n\t\t\t\t#ifdef FACE_FORWARD\n\t\t\t\t\tnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\t\t\t\t#endif\n\t\t\t\t\tmaterialInput.s = v_st.s;\n\t\t\t\t\tmaterialInput.st = v_st;\n\t\t\t\t\tmaterialInput.str = vec3(v_st, 0.0);\n\t\t\t\t\tmaterialInput.normalEC = normalEC;\n\t\t\t\t\tmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\t\t\t\t\tvec3 positionToEyeEC = -v_positionEC;\n\t\t\t\t\tmaterialInput.positionToEyeEC = positionToEyeEC;\n\t\t\t\t\tczm_material material = czm_getMaterial(materialInput);\n\t\t\t\t#ifdef FLAT\n\t\t\t\t\tgl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\t\t\t\t#else\n\t\t\t\t\tgl_FragColor = czm_phong(normalize(positionToEyeEC), material", ");\n\t\t\t\t\tif(gl_FragColor.r==1.0&&gl_FragColor.g==1.0&&gl_FragColor.b==1.0&&gl_FragColor.a==1.0){\n\t\t\t\t\t\tgl_FragColor.a = 0.0;\n\t\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t}\n\t\t\t", "GeoLocateRatate", "GeoRayPick", "isOnly", "BoundingRectangle", "View", "deferred", "doPick", "minimumRadius", "postProcess", "offscreen", "_frameState", "brdfLutGenerator", "_brdfLutGenerator", "environmentMap", "_cubeMap", "morphTime", "cullingVolume", "computeCullingVolume", "_terrainExaggeration", "minimumDisableDepthTestDistance", "_minimumDisableDepthTestDistance", "invertClassification", "_sunColor", "_actualInvertClassificationColor", "isTranslucencySupported", "invertClassificationColor", "maximumScreenSpaceError", "CullingVolume", "_environmentState", "skyAtmosphereCommand", "skyBoxCommand", "sunDrawCommand", "sunComputeCommand", "moonCommand", "_depthPlane", "renderTranslucentDepthForPick", "planes", "originalFramebuffer", "useGlobeDepthFramebuffer", "viewport", "_hdr", "globeDepth", "useOIT", "usePostProcess", "useInvertClassification", "PickDepth", "derivedCommands", "picking", "depthOnlyCommand", "EPSILON12", "mergeSort", "updateCamera", "far", "updateFrustum", "ENVIRONMENT", "clearGlobeDepth", "_depthClearCommand", "frustumCommandsList", "opaqueFrustumNearOffset", "stencilBuffer", "updatePass", "commands", "GLOBE", "indices", "executeCopyDepth", "TERRAIN_CLASSIFICATION", "CLASSIFICATION", "CESIUM_3D_TILE", "CESIUM_3D_TILE_CLASSIFICATION", "depthTexture", "useDepthPicking", "createPotentiallyVisibleSet", "executeCopyColor", "uniformState", "_pickOffscreenView", "pickFramebuffer", "begin", "disableThisFrame", "pickEx", "end", "_defaultView", "endFrame", "_pick", "ray", "getDepthEx", "readPixels", "unpack", "getPixelsEx", "PickFramebuffer", "watchPlane", "_picker", "Scene", "_originalDestory", "_originalUpdate", "_updatePicked", "_content", "computeVisibilityWithPlaneMask", "MASK_INDETERMINATE", "MASK_OUTSIDE", "_visibility_Old", "visibility", "computeIntersectionWithBoundingVolume", "clippingPlanesOriginMatrix", "_isClipped", "INSIDE", "OUTSIDE", "Cesium3DTile", "projectTo2D", "_boundingVolume2D", "MASK_INSIDE", "INTERSECTING", "COLUMN0ROW0", "COLUMN0ROW1", "COLUMN0ROW2", "COLUMN1ROW0", "COLUMN2ROW0", "COLUMN2ROW2", "_videoProject", "_context2D", "_width", "_dirty", "_sampler", "_updateSize", "videoWidth", "timeupdate", "_getCurrentTexture", "_createSampler", "_source", "params", "UNSIGNED_BYTE", "copyFrom", "_recreateParseCanvas", "drawImage", "nextPowerOfTwo", "_readVideoFramePixels", "videoHeight", "_videoProjection", "_uniforms", "_postStage", "_videoTexture", "_addEvent", "_removeEvent", "_createEvent", "_FS_Cone", "uniform float mixNum;\n", "uniform float videoDistance;\n", "uniform sampler2D videoTexture;\n", "uniform mat4 videoMapMatrix;\n", "uniform mat4 videoViewMatrix;\n", "uniform vec3 videoMapPosition;\n", "    vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0);\n", "    return posInCamera;\n", "bool videoVisibility(sampler2D shadowMap, vec4 position){\n", "    vec4 positionEC = toEye(v_textureCoordinates, depth);\n", "    if (any(lessThan(videoPosition.xyz, vec3(0.0))) || any(greaterThan(videoPosition.xyz, vec3(1.0))))\n", "    bool visibility = videoVisibility(videoMapTexture, videoPosition);\n", "    if(visibility){\n", "        vec4 videoColor = texture2D(videoTexture, videoPosition.xy);\n", "    }else{\n", "_FS_Cone_Fill", "uniform sampler2D videoMapTexture;\n", "uniform vec4 u_videoColor;\n", "    float visibility = step(position.z, texture2D(shadowMap, position.xy).r);\n", "    return (visibility == 1.0);\n", "    vec4 videoPosition = videoMapMatrix * positionEC;\n", "    videoPosition /= videoPosition.w;\n", "        vec4 videoColor = u_videoColor;\n", "        gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n", "_FS_Sphere", "        mat4 viewScene = videoViewMatrix;\n", "            gl_FragColor = color;\n", "            return;\n", "_FS_Sphere_Fill", "        vec4 positionWC = viewScene * positionEC;\n", "        depth = length(videoMapPosition - positionWC.xyz);\n", "_updateState", "_getCurrentVideoTexture", "fillVideo", "_createUniforms", "_createPostStage", "_clearData", "_addToScene", "_removeFromScene", "mixFactor", "_getShadowMapTexture", "_getShadowMapMatrix", "_getViewMatrix", "hitlineColor", "fovDistance", "_updatePost", "hitlineType", "_MinFovX", "_maxFovX", "_minFovY", "_MinFovY", "_maxFovY", "_MaxFovY", "_minFovDistance", "_MinFovDistance", "_maxFovDistance", "_MaxFovDistance", "_minHeading", "_MinHeading", "_maxHeading", "_MaxHeading", "_MinPitch", "_maxPitch", "_MaxPitch", "_minRoll", "_MinRoll", "_MaxRoll", "_minSegmentCount", "_maxSegmentCount", "_MaxSegmentCount", "_isInvSphere", "_isSphereType", "_minFovX", "_minPitch", "_maxRoll", "_MinSegmentCount", "clampSegmentCount", "clampFovY", "clampFovDistance", "clampHeading", "clampPitch", "_videoProjectionCamera", "_fovY", "_fovDistance", "_mixFactor", "_vs", "_fs", "_renderState", "_segmentCount", "_isNeedRecreate", "_visibly", "_shaderProgram", "minFovX", "config", "maxFovX", "maxFovY", "minFovDistance", "minHeading", "maxHeading", "minPitch", "maxPitch", "minRoll", "maxRoll", "minSegmentCount", "maxSegmentCount", "isSphereType", "isInvSphere", "fovX!", "minFovY", "fovY!", "maxFovDistance", "fovDistance!", "heading!", "roll!", "mixFactor!", "_render", "render!", "_getProjectionCamera", "update!", "_updatePosition", "_tryCreate", "_updateFovX", "fovX", "_updateFovY", "_updatePitch", "_updateRoll", "_updateParams", "fovY", "_computeTransformInv", "_computeTransform!", "_createVS", "uniform vec4 uDiffuseColor;\n", "varying vec4 vColor;\n", "varying vec4 clip_vertex;\n", "varying float fWindowZ;\n", "varying vec3 normal_vertex;\n", "vec4 depthClampFarPlane(vec4 clipPos)\n", "    fWindowZ = (0.5 * (clipPos.z / clipPos.w) + 0.5) * clipPos.w;\n", "    return clipPos;\n", "    vec4 pos = czm_modelViewProjection * vec4(aPosition.xyz, 1.0);\n", "    gl_Position = depthClampFarPlane(pos);\n", "    vColor = uDiffuseColor;\n", "    normal_vertex = aPosition.xyz;\n", "#extension GL_EXT_frag_depth : enable\n", "#extension GL_OES_standard_derivatives : enable\n", "    gl_FragDepthEXT = min(fWindowZ * gl_FragCoord.w, 1.0);\n", "    vec3 normal = cross(vec3(dFdx(normal_vertex.x), dFdx(normal_vertex.y), dFdx(normal_vertex.z)), vec3(dFdy(normal_vertex.x), dFdy(normal_vertex.y), dFdy(normal_vertex.z)));\n", "    normal = normalize(normal);\n", "    vec3 lightDirection = normalize(czm_sunPositionWC - vec3(eyePosition));\n", "    vec4 diffuse = vColor * LIGHT_COLOR * nDotL;\n", "    vec4 ambient = vColor * LIGHT_COLOR;\n", "    gl_FragColor = clamp(diffuse + ambient, vec4(0.0), vec4(1.0));\n", "_createVACone", "_fovX", "_createBoundingVolume", "_createVASphere", "_createVA!", "_createVASphereInv", "_createRenderState", "_createAttributes", "_createShadeProgram", "_createShadeProgram!", "_createFS", "fromCornerPoints", "_updateBoundingVolume!", "_computeTransform", "_recreate!", "LINES", "_shadowMap", "_updateMatrixEvent", "_updateEvent", "_createFramebufferDepth", "_textureSize", "_passes", "_shadowMapTexture", "_clearFramebuffer", "_clearPassState", "_destroyShadowFramebuffer", "_colorAttachment", "build", "_updateOri", "_sceneCamera", "_lightCamera", "videoProjectionMaps", "deactive", "updateFovX", "updateFovY", "updateFovDistance", "_shadowMapMatrix", "_nextName", "VideoProjection", "_instance", "nextName", "GeoVideoProjection", "_videoProjectionConfig", "_videoProjectionFrustumPrimitive", "_videoTextureSource", "_videoProjectionPostRender", "_videoShadowMap", "_fillVideo", "DeveloperErrorEvent", "AddToSceneEvent", "RemoveFromSceneEvent", "UpdateMatrixEvent", "UpdateEvent", "_rebuildPostRender", "CreationEvent", "clampFovX", "_createShadowMap", "_destroyPostStage", "updatePosition", "_updateFovDistance", "_updateHeading", "updateHeadingPitchRoll", "updatePitch", "updateRoll", "clampRoll", "updateHitLineColor", "updateMixFactor", "updateLineWidth", "isSamedName", "isSelf", "updateHeading", "_type", "visibly", "_removeAllEvent", "_projectBackFaces", "noname!", "_findByName", "destoryObject", "getByIndex", "removeByIndex", "removeByName", "getNames", "_videoProjectionCollection", "_renderVideoProjectionCollection", "destroyAllVideoProjections", "destroyVideoProjection", "createVideoProjection", "getVideoProjectionCollection", "_clearPassesVideoProjectionCommands", "_executePassesVideoProjectionCommands", "_executeVideoProjectionCommand", "shadows", "castCommands", "projectBackFaces", "outOfView", "shadowMapCullingVolume", "_updateVideoProjectionCommand", "castShadows", "isVisible", "originalCommand", "createCastDerivedCommand", "_updateVideoProjectionCommands", "debugCommandFilter", "logDepth", "hdr", "debugShowCommands", "shadowState", "receiveShadows", "receiveCommand", "oit", "lightShadowMaps", "lightShadowsEnabled", "pickId", "DerivedCommand", "pickOnly", "createDepthOnlyDerivedCommand", "createHdrCommand", "createReceiveDerivedCommand", "isSupported", "createDerivedCommands", "GeoViewAnalyse", "_stage", "filterFar", "inputPreviousStageTexture", "_textureCache", "outputTexture", "_index", "pixelFormat", "forcePowerOfTwo", "pixelDatatype", "clearColor", "initStage", "uniform float u_filterFar;\n", "vec4 clipToEye(vec2 uv, float depth)\n", "   vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\n", "   vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);\n", "   posEC = posEC / posEC.w;\n", "void main() {\n", "    hsb.g = clamp(hsb.g + 0.03, 0.0, 1.0);\n", "    if (hsb.b > 0.5)\n", "        hsb.b = clamp(hsb.b + 0.01, 0.0, 1.0);\n", "        hsb.b = clamp(hsb.b - 0.02, 0.0, 1.0);\n", "    float depth = czm_readDepth(depthTexture, v_textureCoordinates);\n", "    vec4 posInCamera = clipToEye(v_textureCoordinates, depth);\n", "    float d = length(posInCamera.xyz);\n", "    if (d > u_filterFar)\n", "       gl_FragColor = vec4(mix(color.rgb, vec3(0.8, 0.85, 0.85), 1.0 - u_filterFar / d), 1.0);\n", "    else \n", "       gl_FragColor = vec4(color.rgb, 1.0);\n", "enableFilter", "_isSupported", "GeoWalkerAnimationCamera", "path", "moveStep", "rotateStep", "frameChange", "_lockCamera", "walkFrame", "addChangeEventListener", "_hooker", "_hookUpdate", "geoposition", "unactivate", "_walkAnimation", "_isPause", "changeEvent", "raiseChangeEvent", "isDone", "_isDone", "isPause", "_begin", "_toStop", "state", "_loadGeoposition", "_loadDirection", "run", "ComputeTimeDelta", "getMilliseconds", "getSeconds", "getMinutes", "_createState", "date", "endDirection", "moveSpeed", "rotateSpeed", "rotateSize", "manHeight", "manRange", "stateType", "UNKNOWN", "_readyCamera", "_walkQueue", "canLog", "_collideActived", "collideActived", "filterFog", "keys", "GeoWalkerCamera", "logarithmicDepthBuffer", "raiseUpdate", "FORWARD", "LEFTWARD", "computeLeftward", "UPWARD", "computeTrunUp", "DOWNWARD", "computeTrunDown", "computeTrunRight", "jumpUp", "computeInitialPosition", "computeForeward", "_computeCollideDistance", "Forward : height = ", "Forward Node : height = ", "computeBackward", "getTangentNormal", "Backward : height = ", "Backward Node : height = ", "collide :", " max: ", "Not collide", "computeTrunLeft", "raiseMouseMove", "filterWithCamera", "getFront", "getRear", "getAvgHeight", "getDropThreshold", "preventFalling", "getLatelyHeight", "GeoWater", "_pointsToCartographic", "_waterColor", "_refractColor", "_waveWidth", "_flowDirection", "_flowSpeed", "_normalTexture", "_m_startTime", "_reflectCamera", "_reflectPassState", "_isVisible", "_waterPolygon", "_computeBoundingRectangle", "_polygonHierarchy", "_lonMin", "_latMin", "_waterCenterPos", "initialize", "RenderbufferFormat", "DEPTH_COMPONENT16", "PassState", "_initialized", "waterPolygon", "workingFrustums", "_fScale", "setRow", "invWorldViewMatrix", "modelViewMatrix", "modeiViewProjection", "_fElapse", "_frameTime", "_flowAngle", "attribute vec3 position;\n\t\t\t\t\t\t\t\t\t\t\tattribute vec2 st;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_modelViewProjectionMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_modelViewMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_invWorldViewMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_texCoordOffset;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_texCoordScale;\n\t\t\t\t\t\t\t\t\t\t\tuniform float u_frameTime;\n\t\t\t\t\t\t\t\t\t\t\tuniform int u_clampToGroud;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec3 u_camPos;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec3 u_scale;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec3 eyeDir;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec2 texCoord;\n\t\t\t\t\t\t\t\t\t\t\tvarying float myTime;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec4 projectionCoord;\n\t\t\t\t\t\t\t\t\t\t\tvoid main(void)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t//gl_Position = ftransform();\n\t\t\t\t\t\t\t\t\t\t\t\tgl_Position = u_modelViewProjectionMatrix * vec4(position.xyz,1.0);\n\t\t\t\t\t\t\t\t\t\t\t\tif (u_clampToGroud == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\teyeDir = (u_camPos - position.xyz) * u_scale;\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec4 pos = u_modelViewMatrix * vec4(position.xyz,1.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\teyeDir = vec3(u_invWorldViewMatrix*vec4(pos.xyz,0.0));\n\t\t\t\t\t\t\t\t\t\t\t\t\tprojectionCoord = gl_Position;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttexCoord = (st+u_texCoordOffset)*u_texCoordScale;\n\t\t\t\t\t\t\t\t\t\t\t\tmyTime = 0.01 * u_frameTime;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t", "uniform sampler2D u_normalMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform sampler2D u_refractMap;\n\t\t\t\t\t\t\t\t\t\t\t\t//uniform samplerCube u_cubeMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform sampler2D u_reflectMap;\n\t\t\t\t\t\t\t\t\t\t\t\t//uniform sampler2D u_flowMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_waterColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_refractColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform int u_useRefractTex;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_reflectColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform int u_reflection;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_flowDir;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec3 eyeDir;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec2 texCoord;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying float myTime;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec4 projectionCoord;\n\t\t\t\t\t\t\t\t\t\t\t\tvoid main (void)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t// texScale determines the amount of tiles generated.\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat texScale = 35.0;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// texScale2 determines the repeat of the water texture (the normalmap) itself\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat texScale2 = 10.0;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat myangle;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat transp;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 myNormal;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 mytexFlowCoord = texCoord * texScale;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ff is the factor that blends the tiles.\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 ff = abs(2.0*(fract(mytexFlowCoord)) - 1.0) -0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// take a third power, to make the area with more or less equal contribution\n\t\t\t\t\t\t\t\t\t\t\t\t\t// of more tile bigger\n\t\t\t\t\t\t\t\t\t\t\t\t\tff = 0.5-4.0*ff*ff*ff;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ffscale is a scaling factor that compensates for the effect that\n\t\t\t\t\t\t\t\t\t\t\t\t\t// adding normal vectors together tends to get them closer to the average normal\n\t\t\t\t\t\t\t\t\t\t\t\t\t// which is a visible effect. For more or less random waves, this factor\n\t\t\t\t\t\t\t\t\t\t\t\t\t// compensates for it\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 ffscale = sqrt(ff*ff + (1.0-ff)*(1.0-ff));\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 Tcoord = texCoord  * texScale2;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// offset makes the water move\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 offset = vec2(myTime,0.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// I scale the texFlowCoord and floor the value to create the tiling\n\t\t\t\t\t\t\t\t\t\t\t\t\t// This could have be replace by an extremely lo-res texture lookup\n\t\t\t\t\t\t\t\t\t\t\t\t\t// using NEAREST pixel.\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 sample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor(mytexFlowCoord)/ texScale).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// flowdir is supposed to go from -1 to 1 and the line below\n\t\t\t\t\t\t\t\t\t\t\t\t\t// used to be sample.xy * 2.0 - 1.0, but saves a multiply by\n\t\t\t\t\t\t\t\t\t\t\t\t\t// moving this factor two to the sample.b\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 flowdir = sample.xy -0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// sample.b is used for the inverse length of the wave\n\t\t\t\t\t\t\t\t\t\t\t\t\t// could be premultiplied in sample.xy, but this is easier for editing flowtexture\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir *= sample.b;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// build the rotation matrix that scales and rotates the complete tile\n\t\t\t\t\t\t\t\t\t\t\t\t\tmat2 rotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this is the normal for tile A\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT0 = texture2D(u_normalMap, rotmat * Tcoord - offset).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// for the next tile (B) I shift by half the tile size in the x-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.5,0)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and the normal for tile B...\n\t\t\t\t\t\t\t\t\t\t\t\t\t// multiply the offset by some number close to 1 to give it a different speed\n\t\t\t\t\t\t\t\t\t\t\t\t\t// The result is that after blending the water starts to animate and look\n\t\t\t\t\t\t\t\t\t\t\t\t\t// realistic, instead of just sliding in some direction.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// This is also why I took the third power of ff above, so the area where the\n\t\t\t\t\t\t\t\t\t\t\t\t\t// water animates is as big as possible\n\t\t\t\t\t\t\t\t\t\t\t\t\t// adding a small arbitrary constant isn't really needed, but helps to show\n\t\t\t\t\t\t\t\t\t\t\t\t\t// a bit less tiling in the beginning of the program. After a few seconds, the\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tiling cannot be seen anymore so this constant could be removed.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// For the quick demo I leave them in. In a simulation that keeps running for\n\t\t\t\t\t\t\t\t\t\t\t\t\t// some time, you could just as well remove these small constant offsets\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT1 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.06+0.62).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// blend them together using the ff factor\n\t\t\t\t\t\t\t\t\t\t\t\t\t// use ff.x because this tile is shifted in the x-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalTAB = ff.x * NormalT0 + (1.0-ff.x) * NormalT1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the scaling of NormalTab and NormalTCD is moved to a single scale of\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalT later in the program, which is mathematically identical to\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalTAB = (NormalTAB - 0.5) / ffscale.x + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tile C is shifted in the y-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.0,0.5)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT0 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.33+0.27).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tile D is shifted in both x- and y-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.5,0.5)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT1 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.24).rg ;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalTCD = ff.x * NormalT0 + (1.0-ff.x) * NormalT1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalTCD = (NormalTCD - 0.5) / ffscale.x + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// now blend the two values togetherv\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT = ff.y * NormalTAB + (1.0-ff.y) * NormalTCD;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this line below used to be here for scaling the result\n\t\t\t\t\t\t\t\t\t\t\t\t\t//NormalT = (NormalT - 0.5) / ffscale.y + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// below the new, direct scaling of NormalT\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT = (NormalT - 0.5) / (ffscale.y * ffscale.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// scaling by 0.3 is arbritrary, and could be done by just\n\t\t\t\t\t\t\t\t\t\t\t\t\t// changing the values in the normal map\n\t\t\t\t\t\t\t\t\t\t\t\t\t// without this factor, the waves look very strong\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT *= 0.3;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// to make the water more transparent\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransp = 1.0;//texture2D( u_flowMap, texFlowCoord ).a;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and scale the normals with the transparency\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT *= transp*transp;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// assume normal of plane is 0,0,1 and produce the normalized sum of adding NormalT to it\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyNormal = vec3(NormalT,sqrt(1.0-NormalT.x*NormalT.x - NormalT.y*NormalT.y));\n\t\t\t\t\t\t\t\t\t\t\t\t\t// 获取反射颜色。\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 envColor = u_reflectColor.rgb;//vec3(0.5647, 0.6941, 0.8235);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (u_reflection == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//vec3 reflectDir = reflect(eyeDir, myNormal);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//vec3 envColor = vec3(textureCube(u_cubeMap, -reflectDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 如果要实现反射真实场景,需要把场景渲染5遍构建一个无底的立方体纹理。\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 目前使用一张反射纹理近似模拟。\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 final = projectionCoord.xy / projectionCoord.w;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfinal = final * 0.5 + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfinal.y = 1.0 - final.y;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tenvColor = texture2D(u_reflectMap, final + myNormal.xy/texScale2*transp).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t// very ugly version of fresnel effect\n\t\t\t\t\t\t\t\t\t\t\t\t\t// but it gives a nice transparent water, but not too transparent\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyangle = dot(myNormal,normalize(eyeDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyangle = 0.95-0.6*myangle*myangle;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// blend in the color of the plane below the water\n\t\t\t\t\t\t\t\t\t\t\t\t\t// add in a little distortion of the colormap for the effect of a refracted\n\t\t\t\t\t\t\t\t\t\t\t\t\t// view of the image below the surface.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// (this isn't really tested, just a last minute addition\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and perhaps should be coded differently\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the correct way, would be to use the refract routine, use the alpha channel for depth of\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the water (and make the water disappear when depth = 0), add some watercolor to the colormap\n\t\t\t\t\t\t\t\t\t\t\t\t\t// depending on the depth, and use the calculated refractdir and the depth to find the right\n\t\t\t\t\t\t\t\t\t\t\t\t\t// pixel in the colormap.... who knows, something for the next version\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 base = u_refractColor.rgb;//vec3(0.3, 0.4, 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (u_useRefractTex == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbase = texture2D(u_refractMap,(texCoord + myNormal.xy/texScale2*0.03*transp)*32.0).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tbase = mix(base, u_waterColor.rgb, u_waterColor.a);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// 光照计算\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 lightDir = czm_sunDirectionEC;//normalize(vec3(0.0, 0.0, 1.0)); // 光照方向需要从外面传入\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 reflectVec = reflect(-lightDir, myNormal);\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat diffuse = max(0.0, dot(myNormal, lightDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat spec = max(dot(reflectVec, normalize(-eyeDir)), 0.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tspec = pow(spec, 128.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t//float lightIntensity = 0.7 * diffuse + 0.3 * spec;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat lightIntensity = 0.3 * spec;\n\t\t\t\t\t\t\t\t\t\t\t\t\tgl_FragColor = vec4(mix(base, envColor, myangle*transp), 1.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tgl_FragColor += vec4(0.8)*lightIntensity;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// note that smaller waves appear to move slower than bigger waves\n\t\t\t\t\t\t\t\t\t\t\t\t\t// one could use the tiles and give each tile a different speed if that\n\t\t\t\t\t\t\t\t\t\t\t\t\t// is what you want\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t", "_uniformMap", "getColorTexture", "_reflectColor", "_waterGeometry", "UNSIGNED_INT", "water", "_updateReflectTexture", "ComputeCommand", "proxy", "metadata", "roadMetadata", "roadUrl", "labelGraphics", "billboardGraphics", "aotuCollide", "collisionPadding", "serverFirstStyle", "tileCache", "labelCache", "_isInitial", "_latelyGrid", "_UUID", "GEO_WTFS_LABEL_", "_UUIDRoad", "getCacheTile", "removeCacheTile", "getCacheLabel", "oid", "addCacheLabel", "removeCacheLabel", "timestamp", "getTileUrl", "/GetTiles?lxys={z},{x},{y}", "getIcoUrl", "/GetIcon?id={id}", "getRoadTileUrl", "_timer", "_tilesToRender", "getTilesToRender", "compareArray", "_queueCall", "_latelyRefreshStamp"];
        r(0)), w = r.n(I), G = r(3), E = r.n(G), S = ["_latelyCollisionStamp", "collisionDetection", "boundBox", "minLevel", "{z}", "{x}", "CutString", "tile", "addCacheTile", "addLabelAndIco", "delaySynchronous", "send", "json", "LabelPoint", "Name", "initTDT", "pois", "createLabel", "_timer2", "coordinate", "font", "px ", "stringTable", "label", "sans-serif", "fontStyle", "bold ", "italic ", "fontColor", "shiningColor", "shiningSize", "backgroundPadding", "eyeOffset", "disableDepthTestDistance", "heightReference", "NONE", "symbolID", "billboard", "{id}", "displayHeight", "alignedAxis", "HeightReference", "priority", "xyz", "debug", "getElementsByClassName", "SceneTransforms", "getLabelReact", "class", "cssText", "position:absolute; top:", "px; left:", "px; width:", "px; height:", "collisionBox", "bindEvent", "moveEnd", "changed", "unbindEvent", "_roadTileset", "entity", "minX", "maxX", "maxY", "option optimize_for = LITE_RUNTIME;", "package GEOPOI;", "enum enumGeometryType {", "ePoint = 0;", "eMultiLineString = 1;", "ePolygon = 2;", "} ;", "message PBPOI{", "required uint64 OID = 1;", "required string Name =2;", "repeated double Coordinates =3 [packed=true];", "required enumGeometryType GeometryType = 4;", "optional int32 Interate = 5;", "optional int32 SymbolID = 10  [default = 0];", "optional double DisplayHeight = 11 [default = 32];", "optional uint32 ShiningColor=12 [default =0];", "optional uint32\tFontNameIndex=13 [default =0];", "optional int32\tFontSize=14 [default =18];", "optional uint32\tFontColor=15 [default =0];", "repeated string s = 1;", "message PBPOITile{", "required int64 Version = 1;", "required StringTable StringTable = 3;", "repeated PBPOI POIS = 4;", "ProtoBuf", "ProtoBuf.js is not present. Please see www/index.html for manual setup instructions.", "loadProto", "GeoPOI.proto", "GEOPOI", "PBPOITile", "enum enumZCoordType {eCloseGround = 0;eCloseSeaSurface = 1;eRelativelyGround = 2;eAbsolute = 3;};", "optional enumZCoordType ZCoordType = 16 [default = eAbsolute];", "message StringTable {", "required int64 TileKey = 2;", "GeoPOI2.proto", "optional int32 Priority = 5;", "repeated int32 Interates =6 [packed=true];", "optional int32 FontStyle=17;", "optional int32 ShiningSize=18;", "GeoPOI3.proto", "decode", "version", "Version", "titleKey", "TileKey", "StringTable", "POIS", "OID", "SymbolID", "DisplayHeight", "ShiningColor", "fontNameIndex", "FontNameIndex", "fontSize", "FontSize", "ZCoordType", "zCoordType", "geometryType", "Coordinates", "interates", "Interates", "FontStyle", "ShiningSize", "GeoWTFS", "hierarchy", "horizontalDistance", "verticalHeight", "spaceDistance", "MVTProvider", "_tileWidth", "tileWidth", "_tileHeight", "_mvtParser", "styleName", "_tileMatrixSetID", "_tileMatrixLabels", "protobuf", "maximumLevel", "_sourceMaxzoom", "sourceMaxzoom", "_symbolVisibility", "enablePickFeatures", "_pickedEvent", "_key", "https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf?access_token={k}", "createForExtent", "getResolutions", "_pixelRatio", "Default", "Text", "_tileQueueForFeatures", "TileReplacementQueue", "_cacheSize", "getUrlTmpl", "_spriteUrl", "deferCache", "messageCache", "blankCanvas", "OffscreenCanvas", "_useWebWorker", "useWebWorker", "浏览器不支持OffscreenCanvas,无法使用WebWorker", "styleFunc", "getStyleUrl", "sources", "layers", "vector", "_styles", "sprite", "loadJson", ".json", "fetchJson", "stylefunction", ".png", "spriteData", "retry", "_initWorker", "_tileQueueForCanvas", "forEachLoadedTile", "imagery", "loadingImagery", "imageryLayer", "QuadtreeTileLoadState", "LOADING", "readyImagery", "addReference", "ImageryState", "setRequestHeader", "getTileCredits", "head", "yMvt", "zMvt", "replacementNext", "_lastBeforeStartOfFrame", "replacementPrevious", "tail", "\nvar sourceMaxZoom = ", ";\nvar resolutions = [", "];\nvar olmsUrl = '", "_olmsUrl", "';\nvar tileWidth = ", ";\nvar tileHeight = ", ';\nvar window={},document={implementation:{createDocument:function(){}},createElement:function(e){if("CANVAS"===e.toUpperCase())return new OffscreenCanvas(512,512)}};function getJSON(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.setRequestHeader("Accept","application/json"),s.onerror=function(){},s.onload=function(){if(200<=s.status&&s.status<300&&s.response){var e;try{e=JSON.parse(s.response)}catch(e){}t(e)}},s.send()}function getArrayBuffer(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onerror=function(){t(null)},s.onload=function(){var e=s.response;200<=s.status&&s.status<300&&s.response?t(e):t(null)},s.send()}function getImage(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="blob",s.onload=function(){var e=s.response;200<=s.status&&s.status<300&&s.response&&t(e)},s.send()}function clip(e,t){var s=JSON.parse(t),r=s[0],n=s[1],o=s[2];if(o>sourceMaxZoom){var a=[0,0,4096,4096],i=o-sourceMaxZoom,p=r-(r>>i<<i),l=n-(n>>i<<i),y=(a[2]-a[0])/(1<<i),u=[a[0]+p*y,a[1]+l*y,a[0]+(1+p)*y,a[1]+(1+l)*y];e.rect=u}return e}function renderCanvas(e,t){for(var s=window.GeoOLMS.Rbush(9,void 0),r=JSON.parse(t)[2],n=new OffscreenCanvas(512,512),o=n.getContext("2d"),a=e.rect?e.rect:[0,0,4096,4096],i=new window.GeoOLMS.ReplayGroup(0,a,8,window.devicePixelRatio,!0,s,100),p=0;p<e.length;p++)for(var l=e[p],y=styleFunc(l,r)||[],u=0;u<y.length;u++)window.GeoOLMS.renderFeature(i,l,y[u],16);i.finish();var c={},d=[tileWidth/(a[2]-a[0]),0,0,tileHeight/(a[3]-a[1]),-512*a[0]/(a[2]-a[0]),-512*a[1]/(a[3]-a[1])];return i.replay(o,d,0,{},!0,_replays,c),window.GeoOLMS.replayDeclutter(c,o,0,!0),i=null,n}importScripts(olmsUrl);var style,spriteUrl,spriteJson,spriteImage,styleFunc=function(){return[]},_mvtParser=new window.GeoOLMS.MVT,_replays=["Default","Image","Polygon","LineString","Text"];function loadTile(s){if("string"==typeof s.data)getArrayBuffer(s.data,function(e){if(e){var t=renderCanvas(clip(_mvtParser.readFeatures(e),s.key),s.key).transferToImageBitmap();postMessage({type:"loadTile",key:s.key,id:s.id,bitmap:t,features:e},[t,e])}else postMessage({type:"loadTile",key:s.key,id:s.id})});else if(s.data instanceof ArrayBuffer){var e=renderCanvas(clip(_mvtParser.readFeatures(s.data),s.key),s.key).transferToImageBitmap();postMessage({type:"loadTile",key:s.key,id:s.id,bitmap:e,features:s.data},[e,s.data])}}function setStyle(s){style=JSON.parse(s.style),(spriteUrl=s.spriteUrl)?getImage(spriteUrl+".png",function(e){createImageBitmap(e).then(function(e){var t=new OffscreenCanvas(e.width,e.height);t.getContext("2d").drawImage(e,0,0),spriteImage=t,getJSON(spriteUrl+".json",function(e){spriteJson=e,styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setStyle",id:s.id})})})}):(styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions),postMessage({type:"setStyle",id:s.id}))}function setPaintProperty(e){style=JSON.parse(e.style),styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setPaintProperty",id:e.id})}function setLayoutProperty(e){style=JSON.parse(e.style),styleFunc=window.GeoOLMS.stylefunction(style,Object.keys(style.sources),resolutions,spriteJson,spriteImage),postMessage({type:"setLayoutProperty",id:e.id})}self.onmessage=function(e){var t=e.data;"loadTile"===t.type?loadTile(t):"setStyle"===t.type?setStyle(t):"setPaintProperty"===t.type?setPaintProperty(t):"setLayoutProperty"===t.type&&setLayoutProperty(t)};\n\t\t', "text/javascript", "createObjectURL", "actors", "Worker ", "stringify", "setStyle", "revokeObjectURL", "bind", "target", "parent", "mapId", "callbackID", "receive", "callbacks", "loadTile", "spriteUrl", "DefferState", "_imageryProvider", "{y}", "{k}", "UNLOADED", "currentActor", "RELOADED", "bitmap", "bitmaprenderer", "transferFromImageBitmap", "DONE", "setPaintProperty", "bad request", "readFeatures", "renderCanvas", "loadArrayBuffer", "xMvt", "markTileRendered", "Rbush", "rect", "devicePixelRatio", "renderFeature", "finish", "replay", "_replays", "mysourceid", "style version 8 required.", "sources does not exist", "projection", "type_", "ends_", "MultiPolygon", "flatCoordinates_", "MultiLineString", "featureToGeoJSON", "id_", "properties_", "WMTS", "GetTile", "getParameterString", "combine", "GetStyle", "_styleName", "geoglobe-olms.js", "extensionsUsed", "KHR_technique_webgl", "extensionsRequired", "KHR_techniques_webgl", "extensions", "shaders", "techniques", "technique", "parameters", "_vtxf_cachedGltf", "execScript", "var ", "invalid index", "getParent", "input", "lazy", "compressionType", "outputBuffer", "outputIndex", "invalid code: ", "invalid distance", "bufferSize", "bufferType", "resize", "invalid inflate mode", "invalid uncompressed block header: length verify", "input buffer is broken", "set", "unknown BTYPE: ", "verify", "unsupported compression method", "invalid fcheck flag:", "fdict flag is not supported", "invalid adler-32 checksum", "LOG2E", "invalid compression method", "Zlib.Inflate", "Zlib.Inflate.prototype.decompress", "Zlib.Inflate.BufferType", "Zlib.Deflate", "Zlib.Deflate.compress", "Zlib.Deflate.prototype.compress", "length", "enumerable", "configurable", "value", "key", "prototype", "this hasn't been initialised - super() hasn't been called", "object", "function", "Super expression must either be null or a function, not ", "create", "setPrototypeOf", "__proto__", "amd", "defineProperty", "defineProperties", "Cartesian2", "Cartesian3", "Cartesian4", "Cartographic", "defined", "DeveloperError", "Ellipsoid", "HeadingPitchRoll", "IntersectionTests", "KeyboardEventModifier", "Matrix3", "Matrix4", "Plane", "Quaternion", "Ray", "Transforms", "CameraEventAggregator", "MapMode2D", "SceneMode", "Math", "scene is required.", "constrainedPitch", "PI_OVER_SIX", "enableInputs", "enableTranslate", "enableRotate", "enableTilt", "enableLook", "inertiaSpin", "inertiaTranslate", "maximumMovementRatio", "bounceAnimationTime", "minimumZoomDistance", "POSITIVE_INFINITY", "LEFT_DRAG", "zoomEventTypes", "WHEEL", "PINCH", "rotateEventTypes", "RIGHT_DRAG", "CTRL", "lookEventTypes", "SHIFT", "minimumPickingTerrainHeight", "_minimumPickingTerrainHeight", "minimumCollisionTerrainHeight", "_minimumCollisionTerrainHeight", "minimumTrackBallHeight", "_minimumTrackBallHeight", "enableCollisionDetection", "_scene", "_globe", "_ellipsoid", "GeoOption", "_aggregator", "GeoCameraEventAggregator", "canvas", "_lastInertiaTranslateMovement", "_lastInertiaTiltMovement", "_tween", "_horizontalRotationAxis", "_tiltCenterMousePosition", "_rotateMousePosition", "_rotateStartPosition", "_strafeStartPosition", "_zoomMouseStart", "_useZoomWorldPosition", "_tiltCVOffMap", "_looking", "_rotating", "_strafing", "_zoomingOnVector", "_rotatingZoom", "_maxCoord", "project", "PI_OVER_TWO", "_zoomFactor", "_rotateFactor", "_maximumRotateRate", "_minimumRotateRate", "_maximumZoomRate", "exp", "equalsEpsilon", "startPosition", "endPosition", "EPSILON14", "getButtonPressTime", "getButtonReleaseTime", "getTime", "active", "getLastMovement", "motion", "multiplyByScalar", "add", "clone", "ZERO", "isButtonDown", "isArray", "eventType", "modifier", "isMoving", "getMovement", "getStartMousePosition", "clamp", "abs", "maximumZoomDistance", "_minimumZoomRate", "autoResetHeadingPitch", "clientHeight", "min", "camera", "heading", "pitch", "roll", "zoomIn", "_adjustOrthographicFrustum", "equals", "SCENE2D", "getPickRay", "origin", "fromElements", "_zoomWorldPosition", "COLUMBUS_VIEW", "height", "position", "normalize", "distance", "getMagnitude", "SCENE3D", "positionCartographic", "dot", "direction", "clientWidth", "subtract", "magnitude", "asin", "sin", "cross", "cos", "right", "setView", "acosClamped", "rotate", "wgs84ToWindowCoordinates", "move", "UNIT_W", "pickEllipsoid", "globe", "pick", "positionWC", "directionWC", "cartographicToCartesian", "flyToBoundingSphere", "HeadingPitchRange", "angleAndHeight", "TWO_PI", "twistRight", "mapMode2D", "IDENTITY", "transform", "enableZoom", "inertiaZoom", "translateEventTypes", "_lastInertiaSpinMovement", "_lastInertiaZoomMovement", "tiltEventTypes", "_translateMousePosition", "_strafeMousePosition", "UNIT_X", "fromPointNormal", "rayPlane", "EPSILON6", "onMap", "mapProjection", "unproject", "eastNorthUpToFixedFrame", "UNIT_SPHERE", "_rotateRateRangeAdjustment", "_setTransform", "UNIT_Z", "maximumRadius", "_tiltCenter", "_projection", "constrainedAxis", "negate", "worldToCameraCoordinatesPoint", "sqrt", "angleBetween", "fromAxisAngle", "fromQuaternion", "multiplyByVector", "_tweens", "anyButtonDown", "contains", "update", "mode", "multiplyByPoint", "geodeticSurfaceNormal", "cartesianToCartographic", "fromCartesian3", "rotateRight", "enableGeoLocateRatate", "rotateUp", "worldToCameraCoordinates", "acos", "mostOrthogonalAxis", "_tiltOnEllipsoid", "EPSILON3", "rayEllipsoid", "getPoint", "start", "grazingAltitudeLocation", "stop", "rightWC", "magnitudeSquared", "look", "frustum", "EPSILON2", "EPSILON4", "lookUp", "_adjustedHeightForTerrain", "getHeight", "max", "ellipsoid", "terrainExaggeration", "reset", "adjustedHeightForTerrain", "isDestroyed", "destroy", "removeAll", "GEOSYMBOL", "assign", "_version", "getPrototypeOf", "call", "rotation", "scale", "Cesium", "GeoSymbol3D", "GEO_VERSION_NUMBER", "$ Cesium Version: 1.63.1 build-20200424180426 $", "Map", "defaultValue", "baseLayerPicker", "animation", "homeButton", "orderIndependentTranslucency", "sceneMode", "scene3DOnly", "maxLevel", "fullscreenButton", "imageryProvider", "SingleTileImageryProvider", "Assets/Images/Earth.jpg", "Viewer", "scene", "WGS84", "log2", "longitude", "toDegrees", "latitude", "geocentricSurfaceNormal", "PI_OVER_THREE", "getCameraOptionsFromMapbox", "zoom", "toRadians", "center", "bearing", "moveBackward", "destination", "orientation", "UNDERGROUND_MODE", "Cesium.js", "(^|(.*?\\/))(", ")(\\?|$)", "getElementsByTagName", "script", "src", "match", "ClockViewModel", "EMPTY_OBJECT", "layoutId", "layout container is required.", "getElement", "viewers", "_viewers", "_clockViewModel", "children", "addEventListener", "container", "options", "log", "getViewerById", "GeoMultiScreenWidget", "left-right", "SplitDirection", "LEFT", "RIGHT", "top-bottom", "viewer", "_viewer", "_isEnable", "_setSplitDirection", "_slider", "_initSlider", "_splitMode", "_createStyle", "_setSplitMode", "_upateSceneImagerySplitPositionBySlider", "_enableLayers", "enableLayers", "_updateEnableLayers", "toLowerCase", "left", "splitDirection", "_splitDirection", "className", "geo-split-slider", " top-bottom", "imagerySplitMode", "style", "top", "50%", " left-right", "_upDateImagerySplitPositionBySlider", "splitMode", "offsetLeft", "parentElement", "offsetWidth", "imagerySplitPosition", "offsetTop", "offsetHeight", "createElement", "div", "_element", "ScreenSpaceEventHandler", "setInputAction", "ScreenSpaceEventType", "PINCH_START", "MOUSE_MOVE", "GeoSplitSliderWidgetStyle", "type", "\n\n            /* 左右分屏 */\n            .geo-split-slider.left-right{\n                width: 5px;\n                height: 100%;\n                left: 50%;\n                top: 0px;                \n            }\n            \n            .geo-split-slider {\n                position: absolute;\n                background-color: #D3D3D3;/* transparent; */\n                z-index: 9999;\n            }\n            \n            .geo-split-slider.left-right:hover {\n                cursor: ew-resize;\n            }\n            \n            .geo-split-slider.top-bottom:hover{\n                cursor:ns-resize;\n            }\n            /* 上下分屏 */\n            .geo-split-slider.top-bottom{\n                width: 100%;\n                height: 5px;\n                left: 0px;\n                top: 50%;\n            }\n                                \n                    ", "appendChild", "createTextNode", "color", "Color", "RED", "withAlpha", "appearance", "PerInstanceColorAppearance", "handler", "cursor", "crosshair", "_array_", "_labels_", "pickPosition", "fromCartesian", "name", "draw_circle", "GroundPrimitive", "GeometryInstance", "ClassificationType", "BOTH", "push", "primitives", "LEFT_CLICK", "remove", "geometry", "radius", "primitive", "CircleGeometry", "ColorGeometryInstanceAttribute", "左键单击开始绘制,右键单击结束绘制", "15px Microsoft YaHei", "get", "drawEnd", "RIGHT_CLICK", "_circles_", "lastP", "default", "createGeometry", "Entity", "attributes", "values", "callback", "clear", "draw_label", "entities", "DrawHeightWidget", "CHARTREUSE", "lineWidth", "activate", "PolylineCollection", "width", "loop", "material", "uniforms", "fromDegreesArrayHeights", "positions", "16px sans-serif", "fromDegrees", "DrawPointWidget", "pixelSize", "PointPrimitiveCollection", "LabelCollection", "左键单击进行绘制", "draw_point", "DrawPolygonWidget", "count", "_polylines_", "draw_polyline", "_array2_", "点击按钮结束绘制", "DODGERBLUE", "PolygonGeometry", "EllipsoidSurfaceAppearance", "VERTEX_FORMAT", "fromColor", "draw_polygon", "lineColor", "screenToCartesian", "lineClampGround", "VertexFormat", "POSITION_ONLY", "createPrimitive", "degreesArrayHeights", "_labels", "temporaryGroundPrimitive", "fixedGroundPrimitive", "concatGroundPrimitive", "draw_polylineConcat", "concatPrimitive", "temporaryPrimitive", "fixedPrimitive", "lineLoop", "createGroundPrimitive", "draw_polylineTemple", "concat", "finalGroundPrimitive", "finalPrimitive", "1.0.0", "2018.6.19", "xupinhui", "doublearrow", "algorithm", "connPoint", "tempPoint4", "points", "getTempPoint4", "PlotUtils", "isClockWise", "getArrowPoints", "slice", "getBezierPoints", "array2Dto1D", "controlPoint", "polygonalPoint", "fromDegreesArray", "headHeightFactor", "headWidthFactor", "neckHeightFactor", "neckWidthFactor", "getThirdPoint", "HALF_PI", "Constants", "getBaseLength", "reverse", "forEach", "mid", "getArrowHeadPoints", "getArrowBodyPoints", "wholeDistance", "getAngleOfThreePoints", "tailedAttackArrow", "tailWidthFactor", "swallowTailFactor", "swallowTailPnt", "getAttackArrowHeadPoints", "getAttackArrowBodyPoints", "getQBSplinePoints", "headTailFactor", "filter", "iterator", "symbol", "DrawHelper", "_tooltip", "_surfaces", "enhancePrimitives", "_handlersMuted", "mouseOut", "mouseMove", "leftUp", "LEFT_UP", "leftDown", "LEFT_DOWN", "setListener", "muteHandlers", "registerEditableShape", "setHighlighted", "_editMode", "showAt", "点击以编辑图形", "setVisible", "leftClick", "leftDoubleClick", "disableAllEditMode", "editCleanUp", "stopDrawing", "disableAllHighlights", "_highlightedSurface", "setEdited", "_editedSurface", "setEditMode", "Material", "fromType", "ColorType", "PolylineMaterialAppearance", "_granularity", "_height", "_textureRotationAngle", "_createPrimitive", "_outlinePolygon", "setAttribute", "getAttribute", "this.ellipsoid must be defined.", "this.material must be defined.", "granularity", "this.granularity and scene2D/scene3D overrides must be greater than zero.", "show", "_primitive", "textureRotationAngle", "_id", "getGeometry", "Primitive", "asynchronous", "strokeColor", "getOutlineGeometry", "debugShowBoundingVolume", "destroyObject", "setStrokeStyle", "strokeWidth", "extent", "initialiseOptions", "setExtent", "fromPositions", "PolygonOutlineGeometry", "PolygonPrimitive", "isPolygon", "setCustom", "custom", "getCustom", "getPositions", "TailedAttackPrimitive", "setPositions", "PolylinePrimitive", "setWidth", "setGeodesic", "geodesic", "getGeodesic", "PolylineGeometry", "/geomap-api/JsCesuimDemo/resource/images/img_plot/dragIcon.png", "BillboardGroup", "addBillboards", "BillboardCollection", "_orderedBillboards", "createBillboard", "_billboards", "_options", "shiftX", "shiftY", "HorizontalOrigin", "CENTER", "VerticalOrigin", "iconUrl", "screenSpaceCameraController", "dragHandlers", "onDrag", "onDragEnd", "onDragStart", "onDoubleClick", "onClick", "_drawHelper", "tooltip", "insertBillboard", "splice", "addBillboard", "removeLastBillboard", "pop", "updateBillboardsPositions", "getBillboard", "countBillboards", "setOnTop", "startDrawingPolygon", "startDrawingPolyshape", "startDrawingPolyline", "startDrawing", "<p>Click to add first point</p>", "random", ")</p>", "<p>Double click to finish drawing</p>", "LEFT_DOUBLE_CLICK", "cartographicArrayToCartesianArray", "Rectangle", "northwest", "southwest", "startDrawingTailedAttack", "firstTime", "test", "<p>点击以增加第一个控制点</p>", "单击以增加一个新的控制点", "poly", "<p>双击可结束绘制</p>", "startDrawingExtent", "ExtentPrimitive", "<p>拖动改变箭头</p><p>再次点击结束绘制</p>", "setEditable", "_editable", "executeListeners", "dragEnd", "_highlighted", "_strokeColor", "fromCssColorString", "white", "_markers", "onEdited", "EllipsoidGeodesic", "interpolateUsingFraction", "billBoard", "removeBillboard", "index", "Drag to create a new point", "_editMarkers", "_globeClickhandler", "Extent", "cartesianArrayToCartographicArray", "doubleArrow", "拖动以钳击形状", "PolygonPrimitive单击", "拖动以改变形状", "TailedAttackPrimitive单击", "DrawHelperWidget", "Container is required", "./img/glyphicons_242_google_maps.png", "./img/glyphicons_097_vector_path_line.png", "./img/qianjijiantou.png", "./img/glyphicons_095_vector_path_circle.png", "./img/zhijiaojiantou.png", "DIV", "button", "title", "onclick", "SPAN", "IMG", "extentIcon", "点击以绘制直箭头", "extentCreated", "点击以绘制钳击箭头", "polygonCreated", "点击以绘制攻击箭头", "tailedAttackCreated", "clearIcon", "addToolbar", "ClearWidget", "DrawWidget", "west", "east", "south", "north", "EPSILON7", "pow", "toFixed", "twipsy-arrow", "twipsy-inner", "_div", "block", "none", "_title", "undefined", "constructor", "_listeners", "addListener", "getCircleCenterOfThreePoints", "getIntersectPoint", "getAzimuth", "getPointOnLine", "getCubicValue", "getArcPoints", "FITTING_COUNT", "getBisectorNormals", "ZERO_TOLERANCE", "getCurvePoints", "getLeftMostControlPoint", "getRightMostControlPoint", "getNormal", "getBinomialFactor", "getFactorial", "getQuadricBSplineFactor", "MeasureAreaWidget", "tags", "tag", "userAgent", "MeasureAreaWidget_draw_point", "WHITE", "MeasureAreaWidget_draw_label", "measureEnd", "selectFeatures", "indexOf", "polygon", "YELLOW", "delete", "MeasureAreaWidget_draw_polygon", "MeasureAreaWidget_", "area", "km²", "MeasureAzimuthWidget", "hideInfobox", "MeasureAzimuthWidget_result_label", "FILL_AND_OUTLINE", "18px KaiTi", "CADETBLUE", "Cesium3DTileset", "warn", "单击结束绘制", "MeasureAzimuthWidget_draw_polyline", "MeasureAzimuthWidget_", "PolylineArrowMaterialProperty", "AQUA", "_polylineGraphicsAzimuth", "PolylineDashMaterialProperty", "_polylineGraphicsNorth", "polyline", "point", "coordinates", "12px sans-serif", "角度:", "showInfobox", "display", "selectionIndicator", "infoBox", "MeasureCoordinateWidget", "请点击模型", "MeasureCoordinateWidget_", "MeasureCoordinateWidget_draw_coordinate", "MeasureCoordinateWidget_result_label", "经度:", "纬度:", "高程:", "collection", "MeasureDistanceWidget", "MeasureDistanceWidget_draw_point", "flag", "!cartesian", "MeasureDistanceWidget_draw_label", "MeasureDistanceWidget_draw_polyline", "总长:", "_polylineCollection", "_polyline", "_primitives", "MeasureDistanceWidget_result_label", "lerp", "MeasureElevationWidget_", "高程值:", "MeasureElevationWidget", "MeasureElevationWidget_result_label", "MeasureHeightWidget", "MeasureHeightWidget_draw_point", "MeasureHeightWidget_draw_polyline", "GREEN", "水平距离:", "垂直高度:", "空间距离:", "result_labelHeight", "MeasureHeightWidget_result_labelHeight", "MeasureSlopeWidget", "_camera", "_canvas", "_lineColor", "_lineWidth", "text", "MeasureSlopeWidget_draw_polyline", "MeasureSlopeWidget_", "PolylineArrow", "MeasureSlopeWidget_draw_label", "单击开始绘制", "atan", "MeasureSlopeWidget_result_label_", "LabelStyle", "16px KaiTi", "MeasureVolumeWidget", "_designElevation", "_samplingPointsNumber", "samplingPointsNumber", "_depthTestAgainstTerrain", "depthTestAgainstTerrain", "_classificationPrimitives", "_pickedClassificationPrimitives", "_tin", "_minHeight", "_maxHeight", "MeasureVolumeWidget_", "MeasureVolumeWidget_draw_label", "_volumeResult", "then", "addClassificationPrimitive", "addVerticalPolylines", "addBasePolygon", "_classificationPrimitive", "BLUE", "_interpolationPoints", "features", "_verticalPolylines", "MeasureVolumeWidget_draw_vertical_polylines", "properties", "lineString", "bboxPolygon", "randomPoint", "booleanPointInPolygon", "ceil", "FeatureCollection", "Feature", "Point", "apply", "getVolume", "intersection", "vertexSerial", "excavationVolume", "excavationArea", "fillVolume", "fillArea", "baseArea", "volume", "底面积:", "km³", "_resultLabels", "MeasureVolumeWidget_result_label_volume", "getGeometryInstanceAttributes", "_polylines", "toValue", "updateBaseElevation", "updateClassificationPrimitive", "体积:", "updateVerticalPolylinesAndBasePolygon", "ClassificationPrimitive", "MeasureVolumeWidget_draw_base_polygon", "miles", "convex", "steps", "edgeWidth", "edgeColor", "cylinderRadius", "clippingModeUnion", "enabled", "clippingPlanes", "modelEntityClippingPlanes", "computePlanes", "ClippingPlane", "createClippingPlanes", "ClippingPlaneCollection", "GeoFlood", "cartesianArrayHeights", "fragmentShader", "normalMapUrl", "createWaterFace", "creatPrimitive", "Water", "PolygonHierarchy", "VERSION", "parseFloat", "varying vec3 v_positionMC;\n\t\t\t\t\tvarying vec3 v_positionEC;\n\t\t\t\t\tvarying vec2 v_st;\n\t\t\t\t\t\n\t\t\t\t\tvoid main()\n\t\t\t\t\t{\n\t\t\t\t\t\tczm_materialInput materialInput;\n\t\t\t\t\t\tvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n\t\t\t\t\t#ifdef FACE_FORWARD\n\t\t\t\t\t\tnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\t\t\t\t\t#endif\n\t\t\t\t\t\tmaterialInput.s = v_st.s;\n\t\t\t\t\t\tmaterialInput.st = v_st;\n\t\t\t\t\t\tmaterialInput.str = vec3(v_st, 0.0);\n\t\t\t\t\t\tmaterialInput.normalEC = normalEC;\n\t\t\t\t\t\tmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\t\t\t\t\t\tvec3 positionToEyeEC = -v_positionEC;\n\t\t\t\t\t\tmaterialInput.positionToEyeEC = positionToEyeEC;\n\t\t\t\t\t\tczm_material material = czm_getMaterial(materialInput);\n\t\t\t\t\t#ifdef FLAT\n\t\t\t\t\t\tgl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\t\t\t\t\t#else\n\t\t\t\t\t\tgl_FragColor = czm_phong(normalize(positionToEyeEC), material", ", czm_lightDirectionEC", "GeoLimitHeight", "labelEntity", "polygonPlaneEntity", "targetHeight", "labelOption", "polygonPlaneOption", "polygonFitOption", "drawLabel", "drawPolygonPlane", "drawPolygonFit", "clearLabelEntity", "labelPosition", "labelText", "labelPixelOffset", "labelFillColor", "labelFont", "18px 楷体", "labelOutlineWidth", "labelStyle", "polygonPlanePerPositionHeight", "polygonPlaneHeight", "polygonPlaneMaterial", "polygonPlaneOutline", "polygonPlaneShow", "clearPolygonFitPrimitive", "polygonFitPositions", "error", "请输入有效的坐标数组!", "polygonFitHeight", "polygonFitExtrudedHeight", "polygonFitColor", "polygonFitPrimitive", "clearAll", "clearPolygonPlaneEntity", "GeoPLSViewShed3D_LIGHTPOINT", "GeoPLSViewShed3D_BOUNDARY", "GeoPLSViewShed3D_DASHLINE", "GeoPLSViewShed3D_ORIENTLINE", "GeoPLSViewShed3D", "groundPrimitives", "_pointLightHeight", "_pointLightPixelSize", "pointLightPixelSize", "_pointLightColor", "pointLightColor", "_boundaryWidth", "boundaryWidth", "_boundaryColor", "boundaryColor", "_orientLineWidth", "orientLineWidth", "_orientLineColor", "orientLineColor", "baseDEMLerpCfg", "_intervalAnalysis", "intervalAnalysis", "_pointLightCamera", "当前Cesium版本:", ",点光源可视域分析暂不支持该版本,请更换至1.50以上的版本!", "firstLeftClick", "shadowMap", "enableGeoPLSViewShed3D", "_baseDEMLerpCfg", "enable", "angleInterval", "timeInterval", "num", "boundaryPositionArr", "startPointLng", "startPointLat", "startPointHgt", "interpolationBase", "visibleColor", "invisibleColor", "单击左键确定可视域位置", "tipPosition", "单击左键固定可视域半径", "fromAlpha", "视高:", "半径:", "BOTTOM", "dynamicAnalysis", "pointLightPosition", "realTimeRadius", "Camera", "context", "size", "_pointLightRadius", "depthBias", "fromRadians", "toCartesian", "sort", "terrainShadows", "ShadowMode", "ENABLED", "GroundPolylineGeometry", "GroundPolylinePrimitive", "showBackground", "backgroundColor", "horizontalOrigin", "verticalOrigin", "pixelOffset", "fillColor", "outlineWidth", "outlineColor", "GeoProfile", "getLerpValue", "lng_origin", "lat_origin", "hgt_origin", "lng_destination", "lat_destination", "hgt_destination", "floor", "samplingNum", "minHeight", "maxHeight", "surfaceLen", "YValueArray", "addLenArray", "lerpCoordnatesArray", "drawChart", "getElementById", "onmousedown", "clientX", "onmousemove", "clientY", "onmouseup", "init", "剖面示意图", "#ccc", "bold", "axis", "<br />", "12%", "#aaa", "solid", "category", "长度(米)", "rgba(0.0, 128, 255, 0.6)", "bolder", "dashed", "高程(米)", "rgba(0.0,255.0,255.0,0.8)", "setOption", "table", "tbody", "innerHTML", "起点经度:", "投影距离:", "起点纬度:", "终点高程:", "地表距离:", "终点经度:", "最高高程:", "straightLen", "最低高程:", "oTable", "originCoordanate", "originImage", "destinationCoordanate", "clearChart", "myChart", "chartContainer", "removeChild", "GEOSIGHTLINE_TIP", "REDLINE", "GREENLINE", "GeoSightline", "observeRelativeHeight", "targetRelativeHeight", "observeImage", "targetImage", "objectsToExclude", "observeActualPosition", "targetActualPosition", "observeEntity", "targetEntity", ",通视分析暂不支持该版本,请更换至1.50以上的版本!", "destroyHandler", "enableGeoSightline", "pickFromRays", "单击左键确定观察点", "drillPickFromRay", "clampToHeight", "_entities", "_array", "GeoSkyLineVolume", "skyLineShow", "skylineShow", "skyLineWidth", "skyLineMaterial", "skyLineVolumeMaterial", "ORANGE", "skyLineVolumeOutLine", "skyLineVolumeOutLineColor", "BLACK", "extrudeRatio", "skyLine", "skyLineVolume", "calculateSkyLinePositions", "data", "skyLinePositions", "drawSkyLine", "skyLineDepthFailMaterial", "drawSkyLineVolume", "cameraPosition", "cameraHeight", "天际线示意图", "宽度(PX)", "line", "getPointDistance", "interNumber", "holeDepth", "arrPoints", "earth", "sideMaterial", "bottomMaterial", "GeoExcavationRegion", "samplingPoints", "_sideMaterial", "_interNumber", "_depth", "depth", "StripeMaterialProperty", "_entitys", "_samplingPoints", "_callback", "_bottomMaterial", "_vPolyline", "_vertexNum", "_excavationRegion", "_arrayVertex", "_outPoints", "GeoTerrainSlope", "shadingUniforms", "updateMaterial", "contour", "spacing", "selectedShading", "slope", "aspect", "elevation", "materials", "elevationRampMaterial", "minimumHeight", "maximumHeight", "contourMaterial", "slopeRampMaterial", "contourUniforms", "ElevationContour", "ElevationRamp", "SlopeRamp", "AspectRamp", "image", "getContext", "createLinearGradient", "#000000", "addColorStop", "#2747E0", "#ffffff", "#0a8d33", "#afdd76", "#f2b602", "#eea706", "#df7702", "#a52100", "#682b06", "#6a2402", "fillStyle", "ElevationColorContour", "max(contourMaterial.alpha, elevationRampMaterial.alpha)", "SlopeColorContour", "max(contourMaterial.alpha, slopeRampMaterial.alpha)", "AspectColorContour", "max(contourMaterial.alpha, aspectRampMaterial.alpha)", "_ready", "dirty", "polys", "isCartesian3Point", "platSlot", "content", "bindTileset", "_tileset", "There is a tileset already, Only One Bind", "platBodyDebug", "tileLoad", "showPlat", "isPlatShow", "isPlatDirty", "clearPlatDirty", "addPlatArea", "platPickPoints", "_show", "getPlatArea", "removePlatArea", "number", "_pickObject", "_tile", "_runtime", "rootNodes", "_boundingVolume", "halfAxes", "matOrg", "createHalfMatrix", "matOrgI", "invertMatrix", "matPrj", "matPrjI", "modelMatrix", "computedMatrix", "initBoxMatrixes", "modelMatrixI", "buffers", "initRegionMatrixes", "initializePlatPoly", "buffer", "byteOffset", "BYTES_PER_ELEMENT", "isPlatPoint", "replaceCommandVertexBuffer", "platPolys", "toPlatBoxModel", "toPlatModel", "_header", "boundingVolume", "region", "toPlatRegionModel", "platModel", "hitPlatTest", "isUsed", "toUnplatModel", "platPickRegion", "initPlatBodyDebug", "createTileRegion", "tileRegion", "initializeCartographicPlatPoly", "initializeCartesianPlatPoly", "divideByScalar", "initCompressPlane", "_orientedBoundingBox", "isPlatPointResult", "mapPosition", "compressPlane", "isPlatPointNoResult", "normal", "isInsidedPoint", "minY", "isEqualFloat", "_nodeCommands", "BufferUsage", "STATIC_DRAW", "command", "_vertexArray", "_attributes", "vertexBuffer", "vertexArrayDestroyable", "_vao", "glDeleteVertexArray", "_cachedGltf", "_gltf", "bufferViews", "getBuffer", "inverse", "setColumn", "createNormal", "createMatrix", "GEOVIEWRADAR_TIP", "GEOVIEWRADAR_LIGHTPOINT", "GeoViewRadar", "pointLightHeight", "boundingSphereStackPartitions", "boundingSphereSlicePartitions", "boundingSphereSubdivisions", ",雷达分析暂不支持该版本,请更换至1.50以上的版本!", "enableGeoViewRadar", "单击左键确定雷达位置", "单击左键固定雷达半径", "ShadowMap", "debugShow", "_boundingSphere", "slicePartitions", "subdivisions", "GEOVIEWSHED3D_TIP", "GEOVIEWSHED3D_SPOTID", "GeoViewShed3D", "spotLightHeight", "_shadowMapNum", "_spotLightCameraList", "expandShadowMapList", "spotLightPosition", "realTimeHeading", "realTimePitching", "realTimeDistance", "realTimeFieldAngle", "单击左键确定观察位置", "单击左键固定视域范围", "analysis", "observePtCoordinate", "frustumLength", "frustumField", "_terrainBias", "enableGeoViewShed3D", "lookAt", "fromHsl", "GeoVolumeCalculate_LINE", "GeoVolumeCalculate_TIP", "GeoVolumeCalculate_GON", "GeoVolumeCalculate_DEGON", "GeoVolumeCalculate_CORAL", "designElevation", "getValue", "shift", "polylineEntity", "volumeAnalysis", "VOLUME", "designPolygonEntity", "CORAL", "polygonEntity", "designPolygonEntity_coral", "左键点击绘制,右键点击结束", "15px sans-serif", "SingleBuildingWidget", "PrimitiveCollection", "CORNFLOWERBLUE", "highlightColor_click", "highlightColor_move", "_INTERSECTED_FLOOR", "_INTERSECTED_FLOOR2", "classificationPrimitiveCollection", "extrudeToBuilding", "_INTERSECTED_FLOOR3", "baseHeight", "sampleHeightSupported", "sampleHeight", "地形还未准备好!", "建筑物基础高度baseHeight是必需的!", "levels", "GEO_SINGLEBUILDING", "callback_click", "_primitiveOptions", "geometryInstances", "toString", "callback_move", "highlightFloor", "deActivate", "removeInputAction", "FlyAround", "_pitch", "_roll", "speed", "_distance", "_positionCartographic", "isFlying", "deltaHeight", "keyEvent", "preRender", "_play", "_heading", "deltaDistance", "play", "参数不可缺省!", "_preRender", "pause", "continue", "removeEventListener", "keydown", "shiftKey", "deltaRadians", "FreeFlight", "direct", "lat", "planePrimitive", "hpRoll", "fromBehind", "fixedFrameTransform", "pathPosition", "SampledPositionProperty", "speedVector", "hpRange", "readyPromise", "activeAnimations", "ModelAnimationLoop", "REPEAT", "boundingSphere", "range", "PolylineGlowMaterialProperty", "PALEGOLDENROD", "addSample", "JulianDate", "now", "headingPitchRollToFixedFrame", "lon", "postRender", "keydownOption", "keyCode", "RouteFly", "cartographicArray", "pointArray", "_stop", "cartesian3", "initialHeading", "differentBearing", "reduceBearing", "HorizontalRadian", "initializationFly", "clock", "startTime", "stopTime", "clockRange", "CLAMPED", "computeCirclularFlight", "addSeconds", "TRANSPARENT", "TimeInterval", "currentTime", "multiplier", "VerticalRadians", "WalkBrowse", "orientationAngle", "point1", "point2", "point3", "bearing1", "bearing2", "moveForward", "lookRight", "GeoCirclePipe", "topRadius", "bottomRadius", "_numSubGeometrys", "numSubGeometrys", "_imageColor", "imageColor", "_rotationXPerFrame", "rotationXPerFrame", "_rotationYPerFrame", "rotationYPerFrame", "rotationZPerFrame", "_instanceName", "endRadian", "_useImage", "_image", "_color", "multiplyByTranslation", "CirclePipeGeometry", "_startRadian", "_endRadian", "MaterialAppearance", "_waitForBuildingMaterial", "onTick", "onFrame", "_circlePipePrimitive", "fromRotationX", "fromRotationY", "fromRotationZ", "_rotationZPerFrame", "multiplyByMatrix3", "Image", "slices", "onMouseEnter", "onMouseLeave", "_onMouseLeftClick", "onMouseLeftClick", "_previousEnter", "_moveHandler", "_clickHandler", "images", "instanceNames", "_circlePipeCollection", "_onMouseEnter", "_onMouseLeave", "instanceName", "_center", "_drawCommandAlpha", "_drawCommandOpaque", "_needUpdate", "_va", "_speed", "_actived", "actived", "_lastTime", "_maxRadius", "_hSpeed", "_life", "_metallicFactor", "metallicFactor", "_roughnessFactor", "roughnessFactor", "_emissiveFactor", "emissiveFactor", "_initTransform", "_modelTransform", "_updateTime", "_updateCommands", "commandList", "vertexArray", "shaderProgram", "owner", "_updateVA", "_time", "getTimestamp", "_updateAlphaCommand", "_updateOpaqueCommand", "DrawCommand", "pass", "renderState", "RenderState", "fromCache", "WebGLConstants", "LEQUAL", "BlendingState", "ALPHA_BLEND", "ShaderProgram", "HDR", "uniformMap", "multiplyTransformation", "viewMatrix", "getRotation", "getMatrix3", "transpose", "Pass", "OPAQUE", "_computeStepCount", "createTypedArray", "ComponentDatatype", "FLOAT", "Buffer", "createVertexBuffer", "createIndexBuffer", "UNSIGNED_SHORT", "VertexArray", "_updateBoundingVolume", "round", "BoundingSphere", "attribute vec3 aPoint;\n", "attribute vec3 aNormal;\n", "attribute float aT;\n", "uniform mat3 u_normalMatrix;\n", "varying vec3 v_normalEC;\n", "varying vec3 v_positionEC;\n", "varying float v_t;\n", "void main(){\n", "   v_positionEC = (czm_modelViewRelativeToEye * vec4(aPoint, 1.0)).xyz;\n", "   v_normalEC = u_normalMatrix * aNormal;\n", "uniform vec4 u_color;\n", "uniform float u_metallicFactor;\n", "uniform float u_roughnessFactor;\n", "uniform vec3 u_emissiveFactor;\n", "float M_PI = 3.141592653589793;\n", "vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) \n", "    return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0);\n", "float smithVisibilityG1(float NdotV, float roughness) \n", "    return NdotV / (NdotV * (1.0 - k) + k);\n", "float smithVisibilityGGX(float roughness, float NdotL, float NdotV) \n", "    return smithVisibilityG1(NdotL, roughness) * smithVisibilityG1(NdotV, roughness);\n", "float GGX(float roughness, float NdotH) \n", "    float roughnessSquared = roughness * roughness;\n", "    float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0;\n", "    return roughnessSquared / (M_PI * f * f);\n", "vec3 lambertianDiffuse(vec3 diffuseColor) \n", "    return diffuseColor / M_PI;\n", "vec3 LINEARtoSRGB(vec3 linearIn) \n", "#ifndef HDR \n", "    return pow(linearIn, vec3(1.0/2.2));\n", "#else \n", "#endif \n", "   if (!gl_FrontFacing){\n", "       n = -n;\n", "   }\n", "   vec4 baseColorWithAlpha = u_color;\n", "   if (v_t > 0.5){", "       baseColorWithAlpha.a = (2.0 - v_t * 2.0);\n", "   else{\n", "       baseColorWithAlpha.a = 1.0;\n", "   vec3 baseColor = baseColorWithAlpha.rgb;\n", "   float metalness = clamp(u_metallicFactor, 0.0, 1.0);\n", "   float roughness = clamp(u_roughnessFactor, 0.04, 1.0);\n", "   vec3 lightColor = vec3(1.5, 1.4, 1.2);\n", "   vec3 h = normalize(v + l);\n", "   float NdotL = clamp(dot(n, l), 0.001, 1.0);\n", "   float NdotH = clamp(dot(n, h), 0.0, 1.0);\n", "   float VdotH = clamp(dot(v, h), 0.0, 1.0);\n", "   vec3 f0 = vec3(0.04);\n", "   vec3 diffuseColor = baseColor * (1.0 - metalness) * (1.0 - f0);\n", "   float alpha = roughness * roughness;\n", "   float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n", "   vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n", "   vec3 r0 = specularColor.rgb;\n", "   float G = smithVisibilityGGX(alpha, NdotL, NdotV);\n", "   float D = GGX(alpha, NdotH);\n", "   vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n", "   vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n", "   vec3 color = NdotL * lightColor * (diffuseContribution + specularContribution);\n", "   color += u_emissiveFactor;\n", "   color = LINEARtoSRGB(color);\n", "   gl_FragColor = vec4(color, baseColorWithAlpha.a);\n", "    float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n", "    return linearIn;\n", "   if (v_t > 0.5){discard;}\n", "   vec3 n = normalize(v_normalEC);\n", "   baseColorWithAlpha.a = 1.0;\n", "   vec3 v = -normalize(v_positionEC);\n", "   vec3 l = normalize(czm_sunDirectionEC);\n", "   float LdotH = clamp(dot(l, h), 0.0, 1.0);\n", "   vec3 specularColor = mix(f0, baseColor, metalness);\n", "   vec3 F = fresnelSchlick2(r0, r90, VdotH);\n", "viewer is required.", "DEFAULT_HEIGHT", "_radius", "GeoDynamicCircle", "_classificationType", "classificationType", "DEFAULT_CLASSIFICATION_TYPE", "_bottomEllipse", "_waveEllipse", "_createDynamicCircle", "isShow", "setShow", "_isShow", "setColor", "DEFAULT_COLOR", "ellipse", "getColor", "setRadius", "DEFAULT_RADIUS", "semiMajorAxis", "getRadius", "setCenter", "position is required.", "ImageMaterialProperty", "CallbackProperty", "rgba(255, 255, 255, 1.0)", "rgba(255, 255, 255, 0.0)", "rgba(255, 255, 255, 0.9)", "rgba(255, 255, 255, 0.2)", "clearRect", "beginPath", "arc", "restore", "strokeStyle", "rgb(255, 255, 255)", "setLineDash", "stroke", "center is required.", "_length", "GeoDynamicCylinder", "DEFAULT_LENGTH", "_topRadius", "_bottomRadius", "particlesColor", "DEFAULT_PARTICLES_COLOR", "_cylinderColor", "cylinderColor", "particlesImageUrl", "_cylinderPrimitive", "_createDynamicCylinder", "_particlesPrimitive", "\n                varying vec3 v_positionEC;\n                varying vec3 v_normalEC;\n                varying vec2 v_st;\n                //varying vec4 v_color;\n                //uniform sampler2D u_image;\n                //uniform vec4 u_color;\n                void main()\n                {\n                    float powerRatio = fract(czm_frameNumber / 30.0) + 1.0;\n                    float alpha = pow(1.0 - v_st.t, powerRatio);\n                    vec4 color = vec4(", "red", "green", "blue", "alpha", ");\n                    // gl_FragColor = vec4(u_color.rgb, alpha*u_color.a);\n                    gl_FragColor = vec4(color.rgb, alpha*color.a);\n                }\n                ", "particles primitive", "_particlesImageUrl", "\n            varying vec3 v_positionEC;\n            varying vec3 v_normalEC;\n            varying vec2 v_st;\n            //varying vec4 v_color;\n            //uniform sampler2D u_image;\n            //uniform vec4 u_color;\n            void main()\n            {\n                vec3 positionToEyeEC = -v_positionEC;\n                vec3 normalEC = normalize(v_normalEC);\n                normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\n                float dt = fract(czm_frameNumber / 90.0);\n                vec2 st = fract(vec2(1.0) + v_st - vec2(dt, dt));\n                //vec4 imageColor = texture2D(u_image, st);\n\n                czm_materialInput materialInput;\n                materialInput.normalEC = normalEC;\n                materialInput.positionToEyeEC = positionToEyeEC;\n                materialInput.st = st;\n                czm_material material = czm_getMaterial(materialInput);\n\n\n                vec3 diffuse = material.diffuse;\n                float alpha = material.alpha;\n\n                //diffuse *= v_color.rgb;\n                //alpha *= v_color.a;\n                \n                vec4 ucolor = vec4(", ");\n                diffuse *= ucolor.rgb;\n                alpha *= ucolor.a;\n\n                 //diffuse *= u_color.rgb;\n                 //alpha *= u_color.a;\n\n                gl_FragColor = vec4(diffuse, alpha * pow(1.0 - v_st.t, 2.0));\n            }\n            ", "\n            attribute vec3 position3DHigh;\n            attribute vec3 position3DLow;\n            attribute vec3 normal;\n            attribute vec2 st;\n            attribute float batchId;\n\n            varying vec3 v_positionEC;\n            varying vec3 v_normalEC;\n            varying vec2 v_st;\n\n            void main()\n            {\n                vec4 p = czm_computePosition();\n\n                v_positionEC = (czm_modelViewRelativeToEye * p).xyz;      // position in eye coordinates\n                v_normalEC = czm_normal * normal;                         // normal in eye coordinates\n                v_st = st;\n\n                gl_Position = czm_modelViewProjectionRelativeToEye * p;\n            }\n            ", "DEFAULT_CYLINDER_COLOR", "GOLD", "GeoHeatMap", "heatmapOptions", "orange", "useEntities", "defaults", "gradient", "maxOpacity", "minOpacity", "_computeBounds", "_getContainer", "width: ", "px; height: ", "body", "_getImageryProvider", "getDataURL", "_rectangle", "_tilingScheme", "WebMercatorTilingScheme", "_mbounds", "_getID", "charAt", "WebMercatorProjection", "wgs84ToMercator", "wgs84ToMercatorBB", "mercatorToWgs84", "mercatorToWgs84BB", "rad2deg", "deg2rad", "mercatorPointToHeatmapPoint", "_xoffset", "_factor", "_spacing", "maxCanvasSize", "minCanvasSize", "setData", "_initBounds", "_setWidthAndHeight", "radiusFactor", "_yoffset", "bounds", "_container", "px; margin: 0px; display: none;", "repaint", "_heatmap", "-hm", "wgs84PointToHeatmapPoint", "_layer", "imageryLayers", "updateLayer", "_renderer", "1.21", "transparent", "addImageryProvider", "url", "url is required.", "_url", "GeoImageCircle", "_ellipse", "_createImageCircle", "TERRAIN", "_position", "_direction", "_baseScale", "_mode", "buildModuleUrl", "_url_1", "urlTop", "explode", "_positions", "_startScale", "_endScale", "_imageSize", "_endColor", "smoking", "life", "_minLife", "_maxLife", "_minSpeed", "_maxSpeed", "_count", "_grow", "grow", "_texture_0", "_texture_1", "_drawCommand", "_pointsArray", "_speedScaleLifeTimesArray", "_preTime", "_loadTexture", "_initFires", "addPosition", "_explode", "_owner", "_fires", "_directionsArray", "frameState", "Resource", "Texture", "fetchImage", "_emissionPosition", "randomBetween", "_growFires", "baseScale", "_updateFire", "_initFire", "_clock", "shouldAnimate", "secondsOfDay", "_updateCommand", "_isCommandReady", "updateNext", "instanceCount", "_updateCommandBoundingVolume", "_updateCommandShaderProgram", "_updateCommandUniforms", "_updateCommandRenderState", "aPosition", "aDirection", "aSpeedScaleLifeTime", "_updateCommandVA", "time", "aTexcoord", "aPlane", "u_startScale", "u_endScale", "u_imageSize", "u_endColor", "u_texture_0", "u_texture_1", "_updateCommandModelMatrix", "attribute vec2 aPlane;\n", "attribute vec4 aDirection;\n", "attribute vec4 aSpeedScaleLifeTime;\n", "attribute vec2 aTexcoord;\n", "uniform float u_endScale;\n", "varying vec3 v_texcoord_0;\n", "varying vec4 v_colorFact;\n", "vec4 computePosition(vec3 position, vec2 plane, vec3 direction, float imageSize, float baseScale, float speed, float time){\n", "   vec3 v = normalize(direction) * speed * time;\n", "   vec4 result = czm_modelView * vec4(v, 1.0);\n", "   result.xy += plane * imageSize * baseScale;\n", "   return result;\n", "void main()\n", "   float speed = aSpeedScaleLifeTime.x;\n", "   float baseScale = aSpeedScaleLifeTime.y;\n", "   float life = aSpeedScaleLifeTime.z;\n", "   baseScale *= mix(u_startScale, u_endScale, t);\n", "   gl_Position = czm_projection * positionEC;\n", "   v_texcoord_0.z = aDirection.w;\n", "   if (t > 0.618){\n", "       v_texIndex = 2.0;\n", "   else if (t > 0.382){\n", "       v_texIndex = 1.0;\n", "       v_texIndex = 0.0;\n", "       v_colorFact = vec4(1.0 - t);\n", "       v_colorFact = mix(u_startColor, u_endColor, t);\n", "uniform sampler2D u_texture_0;\n", "uniform sampler2D u_texture_1;\n", "   int mode = int(v_texcoord_0.z);\n", "   vec4 color = vec4(0.0);\n", "   if (mode == 0){\n", "           color = texture2D(u_texture_1, v_texcoord_0.xy);\n", "           color = texture2D(u_texture_0, v_texcoord_0.xy);\n", "       }\n", "   else if (mode == 1){\n", "       color.rg *= 1.4;\n", "   else if (mode == 2){\n", "       color = v_colorFact;\n", "   if (color.a == 1.0){\n", "       color.a = mc;\n", "       if (color.a > 0.995){\n", "   vec4 fact = czm_gammaCorrect(v_colorFact);\n", "   color *= fact;\n", "   if (color.a < 0.1){discard;}\n", "   gl_FragColor = color;\n", "_normalFact", "_alphaFact", "GeoLineSmokeEffect", "_startColor", "density", "normalFactor", "_smokes", "_needTime", "_door", "_maxNormalFactor", "_minNormalFactor", "_growSmokes", "_initSmokes", "_initSmoke", "multiply", "fromRotationTranslation", "multiplyByPointAsVector", "alphaFact", "normalFact", "_updateSmoke", "_udoor", "TRANSLUCENT", "_updateCommandShaderProgramAlpha", "_updateCommandRepeatVA", "_updateCommandShaderProgramOpaque", "IndexDatatype", "u_startColor", "attribute vec4 aPosition;\n", "uniform vec4 u_endColor;\n", "uniform float u_imageSize;\n", "   vec3 v = position;\n", "   result /= result.w;\n", "   float time = aSpeedScaleLifeTime.w;\n", "   float t = time / life;\n", "   vec4 positionEC = computePosition(aPosition.xyz, aPlane, aDirection.xyz, u_imageSize, baseScale, speed, time);\n", "   v_texcoord_0.xy = aTexcoord;\n", "   v_texcoord_0.z = t;\n", "   color = texture2D(u_texture_0, v_texcoord_0.xy);\n", "   vec4 fact = v_colorFact;\n", "   if (v_texcoord_0.z > 0.9){color.a *= 0.1;}\n", "uniform vec4 u_startColor;\n", "uniform float u_startScale;\n", "   v_colorFact = vec4(mix(u_startColor.rgb, u_endColor.rgb, aPosition.w * (u_startColor.a + u_endColor.a) / 2.0), aPosition.w);\n", "   if (v_texcoord_0.z > 0.9){discard;}\n", "   color = czm_gammaCorrect(color);\n", "playing", "sampleMaxHeight", "sampleMaxPoint", "isParabola", "autoToGround", "_name", "createGuid", "render", "_data", "posititons", "getData", "_createPolylines", "_lines", "duration", "_clearPolylines", "_definitionChanged", "Event", "createPropertyDescriptor", "getType", "getValueOrClonedDefault", "_materialCache", "addMaterial", "GeoOutlineFireEffect", "_fireEffect", "_postProcess", "_assigned", "_depthAttachment", "_clearCommand", "_yPlane", "_zPlane", "_xyRange", "_checkPositionsOrder", "_createGroundTexture", "_createXYPlanes", "_createPostProcess", "_updateAssiged", "_viewMatrix", "_invViewMatrix", "postProcessStages", "useLogDepth", "_createFireEffect", "GeoLineFireEffect", "_computePlane", "_createAssignedFrameBuffer", "drawingBufferWidth", "drawingBufferHeight", "_framebuffer", "PixelFormat", "DEPTH_STENCIL", "PixelDatatype", "UNSIGNED_INT_24_8", "Sampler", "CLAMP_TO_EDGE", "TextureWrap", "TextureMinificationFilter", "NEAREST", "TextureMagnificationFilter", "Framebuffer", "ClearCommand", "addFireEffect", "addSmokeEffect", "_depthStencilTexture", "_view", "passState", "framebuffer", "execute", "uniform mat4 u_nViewMatrix;\n", "uniform int u_count;\n", "uniform vec4 u_planes[", "];\n", "uniform vec4 u_xPlane;\n", "uniform vec4 u_yPlane;\n", "uniform vec4 u_zPlane;\n", "uniform vec2 u_xyRange;\n", "uniform sampler2D colorTexture;\n", "uniform sampler2D depthTexture;\n", "uniform sampler2D u_assignedTexture;\n", "uniform sampler2D u_groundTexture;\n", "varying vec2 v_textureCoordinates;\n", "vec4 toEye(in vec2 uv, in float depth){\n", "    vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0));\n", "    posInCamera = posInCamera / posInCamera.w;\n", "float getDepth(in vec4 depth){\n", "    float z_window = czm_unpackDepth(depth);\n", "    z_window = czm_reverseLogDepth(z_window);\n", "    float n_range = czm_depthRange.near;\n", "    float f_range = czm_depthRange.far;\n", "    return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n", "vec2 getGroundTexCoord(in vec3 position){\n", "    float y = czm_planeDistance(u_yPlane, position) / u_xyRange.y;\n", "    return vec2(x * 4.0, y * 4.0);\n", "    vec4 color = texture2D(colorTexture, v_textureCoordinates);\n", "    vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n", "    if(currD.r>=1.0){\n", "        gl_FragColor = color;\n", "        return;\n", "    vec4 assigned = texture2D(u_assignedTexture, v_textureCoordinates);\n", "    }\n", "    float depth = getDepth(currD);\n", "    float z = czm_planeDistance(u_zPlane, position.xyz);\n", "    vec2 gndTexCoord = getGroundTexCoord(position.xyz);\n", "    vec4 colorGround = texture2D(u_groundTexture, gndTexCoord);\n", "    for (int i = 0; i < ", "        if (i >= u_count){\n", "            break;\n", "        }\n", "        float d0 = czm_planeDistance(u_planes[i], position.xyz);\n", "        float d2 = czm_planeDistance(u_planes[i+2], position.xyz);\n", "        if (d0 > 0.0 && d1 > 0.0 && d2 > 0.0){\n", "           if (z < -1000.0){break;}\n", "           break;\n", "PostProcessStage", "_groundTexture", "_xPlane", "urlGround", "function ", "join", "l-1", ";while(l<=h){                var m=(l+h)>>>1,x=a[m]", ";if(x===y){return m}else if(x<=y){", ";var p=c(x,y);if(p===0){return m}else if(p<=0){", ";if(", "){i=m;", "l=m+1}else{h=m-1}", "h=m-1}else{l=m+1}", "return -1};", "return i};", "c(x,y)", "function dispatchBsearch", "(a,y,c,l,h){                    if(typeof(c)==='function'){                        return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)                    }else{                        return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)                    }}                    return dispatchBsearch", "triangulation", "binary-search-bounds", "stars", "edges", "removeTriangle", "addTriangle", "flip", "opposite", "cells", "neighbor", "flags", "next", "locate", "boundary", "constraint", "two-sum", "twoProduct", "fastTwoSum", "robust-subtract", "robustSubtract", "robust-sum", "linearExpansionSum", "two-product", "robust-scale", "scaleLinearExpansion", "sum(", "split", "substr", "prod(", "scale(", "prod(m", "var w", "=scale(w", "[0]);", "var p=", "sum", "diff", "slow", "function testInSphere(", ":return o", "robust-in-sphere", "delaunay", "isConstraint", "),prod(-", "Exact", "){var p=", ",n=", ",d=sub(p,n);        return d[d.length-1];};return ", "prod", "function getOrientation(", "case ", "}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation", "robust-orientation", "monotone", "idx", "lowerIds", "upperIds", "monotoneTriangulate", "cdt2d", "delaunayRefine", "classifyFaces", "map", "exterior", "infinity", "_points", "peekTransform", "anyDirection", "take", "_rings", "_find", "_fixups", "_checkCell", "triangulate", "GeoPolygonClippingEffect", "_clipResult", "clipResult", "_maskColor", "maskColor", "_polygons", "_areaCamera", "isTriangle", "Hide", "Show", "_enabled", "_disableAll", "_initialize", "_parseTriangles", "_translateToTriangles", "_adjustOrder", "_parsePolygons", "adjustOrder", "_enableAll", "_enableHideAll", "_enableShowAll", "_disableHideAll", "_disableShowAll", "_enablePrimitiveCollection", "_enableGlobe", "skyAtmosphere", "_disablePrimitiveCollection", "_disableGlobe", "skyBox", "_enablePrimitive", "_disablePrimitive", "_enableEntityCluster", "Model", "_enableModel", "EntityCluster", "_disableEntityCluster", "_disableModel", "_pointCollection", "_pointPrimitives", "_generateClipPlanes", "_clearSurfaceClippingPlanes", "_tilesInvalidated", "_tileProvider", "_clippingPlanes", "_surfaceShaderSet", "_resetSurfaceShaderSet", "_shadersByTexturesFlags", "_calcClipCenter", "fromTranslation", "_shouldRegenerateShaders", "_generateHidePlanes", "_generateShowPlanes", "_generateSourcePlanes", "GRAY", "mularea", "clip", "clippingFunctionMularea", "float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix)\n", "    vec3 clipNormal = vec3(0.0);\n", "    float clipAmount = 0.0;\n", "    float pixelWidth = czm_metersPerPixel(position);\n", "    bool bDiscard = true;\n", "    {\n", "        vec4 clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "        clipNormal = clippingPlane.xyz;\n", "        clipPosition = -clippingPlane.w * clipNormal;\n", "        float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "        if (amount > 0.0)\n", "        {\n", "           j++;\n", "           clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "           clipNormal = clippingPlane.xyz;\n", "           clipPosition = -clippingPlane.w * clipNormal;\n", "           clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "           if (amount > 0.0)\n", "           {\n", "               clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", "               clipNormal = clippingPlane.xyz;\n", "               amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "               clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "               {\n", "                   bDiscard = false;\n", "                   break;\n", "               }\n", "           }\n", "    if (bDiscard) {\n", "        discard;\n", "getClipAndStyleCodeForMulArea", "uniform sampler2D gltf_clippingPlanes; \n", "uniform mat4 gltf_clippingPlanesMatrix; \n", "uniform vec4 gltf_clippingPlanesEdgeStyle; \n", "{ \n", "    gltf_clip_main(); \n", "); \n", "    clippingPlanesEdgeColor.rgb = ", ".rgb; \n", "    float clippingPlanesEdgeWidth = ", "    if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) \n", "        gl_FragColor = clippingPlanesEdgeColor;\n", "    } \n", "} \n", "    vec3 clipPosition = vec3(0.0);\n", "        int j = i;\n", "        clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", "           amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", "               j++;\n", "               if (amount > 0.0)\n", "        //break;\n", "void main() \n", "    float clipDistance = clip(gl_FragCoord, ", ".a; \n", "    if (clipDistance < 0.0) \n", "    { \n", "peekSource", "addOutlinePosition", "_outline", "tileUnload", "raiseEvent", "_statistics", "decrementLoadCounts", "numberOfTilesWithContentReady", "unloadContent", "_enableTileset", "_root", "_removeEffectFromTileset", "_cache", "trim", "unloadTiles", "_unloadTileCallback", "GeoRadarScan", "DEFAULT_LINE_WIDTH", "_sectorColor", "_sectorWidth", "sectorWidth", "DEFAULT_SECTOR_WIDTH", "_createRadarScan", "_updateBorderMaterial", "_updateSectorMaterial", "_radarScanEntity", "_borderEntity", "setLineColor", "getLineColor", "setsectorColor", "radar", "rgba(", "rgba(255,255,255,1)", "255,255,255", ",1)", "moveTo", "lineTo", "fill", "_createCanvas", "GeoScanCircleEffect", "_repeat", "repeat", "_scanCirclePostProcess", "_scanAperturePostProcess", "_normal", "_setLife", "_setTime", "_color0", "_finishedEvent", "_updatePostProcesses", "_finish", "inverseViewMatrix", "_updateScanAperturePostProcess", "_updateScanCirclePostProcess", "uniform mat4 u_invViewMatrix;\n", "uniform vec3 u_center;\n", "   vec4 color = texture2D(colorTexture, v_textureCoordinates);\n", "   vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n", "   if(currD.r >= 1.0){\n", "       return;\n", "   float zd = czm_unpackDepth(currD);\n", "   zd = czm_reverseLogDepth(zd);\n", "   zd = (2.0 * zd - czm_depthRange.near - czm_depthRange.far) / (czm_depthRange.far - czm_depthRange.near);\n", "   vec2 xy = vec2((v_textureCoordinates.x * 2.0 - 1.0), (v_textureCoordinates.y * 2.0 - 1.0));\n", "   vec4 position = czm_inverseProjection * vec4(xy, zd, 1.0);\n", "   float z = 0.0;\n", "   if (all(notEqual(n, b))){\n", "       vec3 nc = cross(b, n);\n", "       b = normalize(b);\n", "       z = dot(b, position.xyz) - dot(b, u_center);\n", "   float d5 = u_param0.z * u_param0.y;\n", "   float hw = u_param0.w / 2.0;\n", "   float hw5 = hw * 12.0;\n", "   float hd = dot(u_normal, position.xyz) - dot(u_normal, u_center);\n", "   if (z < (d5 + hw5) && z > (d5 - hw5)){\n", "       color.rgb = mix(color.rgb, u_color.rgb, smoothstep(0.0, 1.0, z1));\n", "       float r = abs(z - d);\n", "       if (u_color.a < 1.0){\n", "           z = (r - hw * u_color.a) / (hw * (1.0 - u_color.a));\n", "       color.rgb = mix(color.rgb, u_color.rgb, clamp(al * ((hw * u_color.a > r) ? 1.0 : exp(-(pow(z, 2.27)))), 0.0, 1.0));\n", "invViewMatrix", "uniform vec3 u_normal;\n", "uniform vec4 u_param0;\n", "   position /= position.w;\n", "   float t = (u_param0.y > u_param0.x) ? u_param0.x : u_param0.y;\n", "   vec3 b = normalize(position.xyz - u_center);\n", "       b = cross(n, nc);\n", "   float d = u_param0.z * t;\n", "       float r = abs(z - d5);\n", "       color.rgb *= ((r / hw5) > 0.5) ? 0.996 : 1.018;\n", "       color.rgb += vec3(0.01) * u_color.rgb;\n", "   if (z < (d + hw) && z > (d - hw)){\n", "       r = 1.5707963 * r / hw;\n", "       color.rgb = color.rgb * vec3(0.618) + u_color.rgb * vec3(cos(r) * 0.382);\n", "GeoScanRingEffect", "longest", "_textureUrl", "_scanPostProcess", "_texture", "_param1", "_param3", "_loading", "_checkVisible", "_updateTexture", "_udpateParams", "setTextureUrl", "_param0", "_param4", "_longest", "only-if-cache", "_param2", "uniform vec4 u_param3;\n", "       gl_FragColor = color;\n", "   position = u_invViewMatrix * position;\n", "   float z0 = dot(u_param3.xyz, position.xyz) + u_param3.w;\n", "   if(z0 < -800.0 || z0 > 800.0){\n", "   vec3 v = u_param3.xyz * z0;\n", "   vec3 p = position.xyz - v;\n", "   float z2 = distance(u_param0.xyz, p);\n", "   float z3 = u_param2.x * 0.75;\n", "   if(z2 < z3){\n", "   gl_FragColor = mix(color, u_color, (z2 - z3) * 0.8 / (u_param2.x * 0.25));\n", "uniform vec4 u_param2;\n", "uniform vec4 u_param4;\n", "   float z0 = dot(u_param0.xyz, position.xyz) + u_param0.w;\n", "   if(z0 < 0.0){\n", "   float z1 = dot(u_param1.xyz, position.xyz) + u_param1.w;\n", "   if(z1 < 0.0){\n", "   float z2 = dot(u_param2.xyz, position.xyz) + u_param2.w;\n", "   if(z2 < 0.0){\n", "   float z3 = dot(u_param3.xyz, position.xyz) + u_param3.w;\n", "   if(z3 < 0.0){\n", "   float z4 = dot(u_param4.xyz, position.xyz) + u_param4.w;\n", "   float a = max(sColor.r, max(sColor.g, sColor.b));\n", "   gl_FragColor = mix(color, sColor, a * 0.8);\n", "_angle", "angle", "emit", "velocity", "imageSize", "_particleLife", "particleLife", "_emissionRate", "emissionRate", "_lifetime", "lifetime", "_system", "_initializeParticleSystem", "_reset", "_particles", "_billboard", "_particlePool", "VisualSenseStyleCondition", "_fieldName", "_fieldValue", "fieldValue", "minValue", "_maxValue", "maxValue", "_topic", "topic", "vec4(", "_makeColorShader", "if (visualSenseStyle_enabledMixColor == 1.0) { \n", "gl_FragColor *= ", "_minValue", " == ", ".0) \n", "if (", ".0 && ", "_makeLuminanceShader", ") \n", " >= ", " && ", "mixedColor", "luminanceAtZenith", "getLuminanceByProperty", "true", "getProperty", "ConditionParser", "parse", "fieldName", "_useElevation", "bloom", "glowOnly", "contrast", "brightness", "sigma", "stepSize", "isSelected", "GeoVisualSenseStyle", "_enabledMixedColor", "_enabledLuminanceAtZenith", "_enabledBloom", "_bloomStep", "_map", "_conditionParser", "_mixedColorConditions", "parseLuminanceAtZenith", "lightBand", "_enabledLightBand", "_luminanceAtZenithConditions", "conditions", "makeFragmentColorShader", "if (visualSenseStyle_enabledLuminanceAtZenith == 1.0) { \n", "luminanceValue = heightLightValue; \n", "makeShader", "makeLightBandShader", "float vtxf_a13 = fract(czm_frameNumber / 360.0);\n", "float vtxf_h = clamp(v_elevationPos.z / 300.0, 0.0, 1.0);\n", "vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0;\n", "float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13));\n", "gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - vtxf_diff);\n", "GeoWind", "level", "rectangle", "velocityScale", "particleMultiplier", "maxWindIntensity", "colors", "#00ffff", "#64f0ff", "#87e1ff", "#a0d0ff", "#c6adff", "#d49bff", "#ec6dff", "#ff1edb", "canvasContext", "_initWindy", "Windy", "header", "parameterCategory", "parameterNumber", "2,2", "2,3", "lo1", "la1", "refTime", "setHours", "getHours", "forecastTime", "interpolate", "release", "randomize", "substring", "indexFor", "rgba(0, 0, 0, 0.97)", "age", "globalCompositeOperation", "fillRect", "timer", "field", "_locationCoordinate", "_size", "_bounds", "tan", "_getLevel", "_getCenterPoint", "_calculateBounds", "1.16", "windy", "GEO_OVERVIEW_ICO_LAYER", "GEO_OVERVIWE_ICO_ID", "map2DOptions", "raster", "http://t3.tianditu.com/vec_c/wmts?SERVICE=WMTS&REQUEST=GetTile&LAYER=vec&TILEMATRIXSET=c&FORMAT=tiles&VERSION=1.0.0&STYLE=default&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e90d56e5a09d1767899ad45846b0cefd", "tdt_layer_overview", "visible", "movingTargetIco", "movingTargetIcoSize", "movingTargetZoomLevel", "_isReady", "modelType", "ROAM", "_initOverview", "geo-cesium-viewer-overview", "layout", "toLocaleUpperCase", "startsWith", "bottom", "5px", "absolute", "_bindEvent", "map2D", "load", "loadImage", "addImage", "addSource", "addLayer", "updateAimingRect", "_unbindEvent", "GEOOVERVIEW_3D_RENDER_EVENT", "getMap2D", "getMap2DLayer", "getLayer", "addMap2DLayer", "removeLayer", "getMap2DSource", "addMap2DSource", "removeMap2DSource", "_latelyUpdateStamp", "_modelType", "getSource", "setLayoutProperty", "icon-rotate", "setModel", "setScalable", "boolean", "GeoOverviewWidget", "CustomGeographicTilingScheme", "_resolutions", "resolutions", "_maximumLevel", "_origin", "_fullExtent", "fullExtent", "_dataRectangle", "_matrixWidth", "_matrixHeight", "LN2", "_topTileExtent", "_numberOfLevelZeroTilesY", "_centerPoint", "_proposalHeight", "GeographicTilingScheme", "_numberOfLevelZeroTilesX", "getNumberOfXTilesAtLevel", "CustomWebMercatorTilingScheme", "matrixWidth", "numberOfLevelZeroTilesX", "numberOfLevelZeroTilesY", "_rectangleSouthwestInMeters", "rectangleSouthwestInMeters", "rectangleNortheastInMeters", "_rectangleNortheastInMeters", "getNumberOfYTilesAtLevel", "LineString", "GeoGeodesic", "radiansToDegrees", "degreesToRadians", "atan2", "_destination", "along", "_bearing", "geoTranslateByDistance", "GeoGeographicTilingScheme", "GeographicProjection", "when", "defer", "ToolManager", "_tools", "ModifyTerrainTool", "vertices", "heights", "mtHeight", "mtType", "fromKML", "resolve", "lenght", "timeStamp", "getTileDataAvailable", "_errorEvent", "_credit", "string", "Credit", "heightMapWidth", "heightMapHeight", "_subdomains", "firstRequestUrl", "{s}", "sTag", "_firstRequest", "layerName", "&Styles=&Format=image/mpt", "pngOnly", "maxTerrainLevel", "_maxTerrainLevel", "setFormatMPT", "_urlTemplate", "request=GetMap&Version=1.3.0&Service=WMS&v=1&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers=", "_format", "_levelZeroMaximumGeometricError", "TerrainProvider", "_workerPool", "_pendingRequests", "_requestsCache", "_requestsCacheKeys", "errorEvent", "GeoSkylineTerrainProvider", "_geometricErrorFactor", "mpt", "png", "_isMPT", "replace", "requestFactorForLevel", "_requestGridSize", "getRequestBaseTerrainUrl", "getRequestElevationLayer", "getRequestUrl", "tilingScheme", "tileXYToNativeRectangle", "{north}", "{west}", "{east}", "{optimizedOnly}", "{height}", "isT_Inside_E", "DEGREES_PER_RADIAN", "isT_Intersects_E", "RADIANS_PER_DEGREE", "refreshElevationLayer", "_surface", "_levelZeroTiles", "findDirectParent", "freeResources", "isTileAvailable", "tileXYToRectangle", "terrainData", "_childTileMask", "markTileAsUnavailable", "requestTileGeometryBuffers", "requestedRectangle", "layer", "requestTileHeightBuffer", "all", "myReject", "reject", "isFloor", "arrayToHeightmapTerrainData", "otherwise", "_allElevationLayers", "each", "requestElevationLayerTileGeometry", "requestBaseTerrainTileGeometry", "nullTolerance", "nullValueNumber", "polygonVerticesX", "polygonVerticesY", "mergeBuffers", "offset", "tolerance", "_buffer", "Request", "subdomains", "/SG", "/Elevation", "format", "image/png", "image/mpt", "_modifyTerrainObjects", "modelFloorBestLevel", "NoMerge", "_selectedTiles", "NoFloor", "rootFloorRectangle", "getHRMTFP", "_model", "hasOwnProperty", "dataLoaded", "fetchArrayBuffer", "workerFinished", "queueWorkItem", "rejected", "extractTileHeightBuffer", "message", "HeightmapTerrainData", "workerPath is required.", "_workerPath", "workerPath", "_poolSize", "poolSize", "_workers", "_defered", "jobQueueSize", "onWorkerError", "workerId", "deferedId", "postMessage", "trimPool", "timerId", "terminate", "onWorkerMessage", "options.urls is required.", "_dataType", "dataType", "GeoTerrainProvider", "INT", "_tileType", "tileType", "HEIGHTMAP", "_urls", "urls", "_urls_length", "_url_i", "_url_step", "_readyPromise", "credit", "_heightmapWidth", "_heightmapHeight", "getEstimatedLevelZeroGeometricErrorForAHeightmap", "_opacity", "opacity", "_maxExtent", "maxExtent", "_topLevel", "_bottomLevel", "bottomLevel", "ready", "requestTileGeometry must not be called before ready returns true.", "promise", "requestTileGeometry", "&y=", "&l=", "_proxy", "getURL", "QUANTIZED_MESH", "_terrainDataStructure", "_skirtHeight", "getLevelMaximumGeometricError", "getvHeightBuffer", "_vHeightBuffer", "transformBuffer", "setInt8", "requestFunction", "GET", "open", "responseType", "arraybuffer", "async", "RequestScheduler", "request", "readyState", "status", "response", "byteLength", "Inflate", "decompress", "_rectangles", "getFloat64", "getFloat32", "subarray", "getUint32", "createTypedArrayFromArrayBuffer", "getUint8", "OCT_VERTEX_NORMALS", "_requestVertexNormals", "WATER_MASK", "METADATA", "_requestMetadata", "available", "endY", "EPSILON5", "fromRectangle", "_tileCredits", "int", "float", "quantized-mesh", "heightmap", "tileset", "source", "autoActivate", "originalColor", "fromBytes", "moveColor", "selectedFeature", "groundPrimitiveCollection", "geojson", "activateAction", "_seletedEvent", "XMLHttpRequest", "withCredentials", "Accept", "application/json", "onerror", "statusText", "onload", "_loadGroundPrimitives", "data的类型不被支持!", "Polygon", "类型,该类型不被支持!", "GEO_MONOMER_FEATURE", "reloadGeoJSON", "_loadGeoJSON", "description", "isContaintFeature", "drillPick", "selectedColor", "deactivateAction", "Cesium3DTilesetMonomer", "EasingFunction", "Intersect", "OrthographicFrustum", "PerspectiveFrustum", "CameraFlightPath", "_transform", "_invTransform", "_actualTransform", "_transformChanged", "isTDT", "_positionWC", "_directionWC", "_up", "_upWC", "_right", "aspectRatio", "fov", "defaultMoveAmount", "defaultLookAmount", "defaultRotateAmount", "defaultZoomAmount", "maximumZoomFactor", "_moveEnd", "_changed", "_changedDirection", "_changedFrustum", "percentageChanged", "_modeChanged", "_max2Dfrustum", "_suspendTerrainAdjustment", "DEFAULT_VIEW_RECTANGLE", "DEFAULT_VIEW_FACTOR", "TRANSFORM_2D", "TRANSFORM_2D_INVERSE", "PI_OVER_FOUR", "computeView", "_updateCameraChanged", "numberOfListeners", "_changedPosition", "fovy", "_adjustHeightForTerrain", "basisTo2D", "getColumn", "EPSILON10", "inverseTransformation", "_actualInvTransform", "_rightWC", "zeroToTwoPi", "MORPHING", "_moveStart", "mode is required.", "An OrthographicOffCenterFrustum is required in 2D.", "A PerspectiveFrustum or OrthographicFrustum is required in 3D and Columbus view", "The camera frustum is expected to be orthographic for 2D camera control.", "tileProvider", "_tileLoadQueueHigh", "_tileLoadQueueMedium", "_tileLoadQueueLow", "_debug", "tilesWaitingForChildren", "pickPositionWorldCoordinates", "ROTATE", "fromHeadingPitchRoll", "endTransform", "getRectangleCameraCoordinates", "flyHome", "completeMorph", "flyTo", "cartesian is required.", "worldToCameraCoordinatesVector", "cameraToWorldCoordinates", "cameraToWorldCoordinatesPoint", "cameraToWorldCoordinatesVector", "direction is required.", "moveUp", "moveDown", "moveRight", "lookLeft", "lookDown", "twistLeft", "axis is required.", "rotateDown", "rotateLeft", "zoomOut", "offset is required", "lookAt is not supported while morphing.", "UNIT_Y", "transform is required", "lookAtTransform is not supported while morphing.", "setEndPoints", "_offCenterFrustum", "MAX_VALUE", "rectangle is required", "windowPosition is required.", "near", "distanceToBoundingSphere", "boundingSphere is required.", "getPixelSize", "drawingBufferHeight is required.", "getPixelDimensions", "EXPONENTIAL_OUT", "createCorrectPositionTween", "duration is required.", "_currentFlight", "destination is required.", "cancelFlight", "convert", "complete", "cancel", "pitchAdjustHeight", "flyOverLongitude", "flyOverLongitudeWeight", "easingFunction", "createTween", "DEFAULT_OFFSET", "viewBoundingSphere is not supported while morphing.", "fromCartesian4", "radii", "multiplyComponents", "oneOverRadii", "upWC", "computeVisibility", "fromCartographicArray", "EPSILON9", "switchToPerspectiveFrustum", "switchToOrthographicFrustum", "projectionMatrix", "CameraEventType", "_update", "_isDown", "_movement", "prevAngle", "_buttonsDown", "position1", "_eventHandler", "PINCH_END", "PINCH_MOVE", "_eventStartPosition", "_pressTime", "_releaseTime", "RIGHT_DOWN", "RIGHT_UP", "MIDDLE_DRAG", "MIDDLE_UP", "_lastMovement", "valid", "canvas is required.", "_currentMousePosition", "ALT", "type is required.", "GeoCloudPrimitive", "speedScale", "_base", "_step", "_gamma", "gamma", "_isInverse", "_animationMatrix", "_colorTexture_0", "_requestUrl", "_requestCommand", "../../../resource/images/10.jpg", "_url_0", "_createTexture", "_context", "RGBA", "CloudPrimitive fetchImage is failed!", "passes", "_isTexturesReady", "_timeoutWorkerCommand", "_updateAnimationMatrix", "_createCommandByWorker", "var PI_OVER_TWO = PI / 2.0;\n", "onmessage = function (e) {\n", "   var xCount = params.xCount;\n", "   if (!xCount){\n", "   var yCount = params.yCount;\n", "   if (!yCount){\n", "       postMessage({error:true});\n", "   var radius = params.radius;\n", "   if (!radius){\n", "   var pointsCount = (xCount + 1) * (yCount - 1) + 2 * xCount;\n", "   var pointsArray = new Float32Array(3 * pointsCount);\n", "   var texcoordArray = new Float32Array(2 * pointsCount);\n", "   var ptIndex = 0;\n", "   var tcIndex = 0;\n", "   var hFovRad = PI * 2.0;\n", "   var angleH = 0;\n", "   var angelV = 0;\n", "   var stepVRad = vFovRad / yCount;\n", "   for (var F = 0; F < xCount; F++){\n", "       pointsArray[ptIndex ++] = 0.0;\n", "       pointsArray[ptIndex ++] = -radius;\n", "       texcoordArray[tcIndex ++] = F / xCount + 1 / (xCount * 2.0);\n", "       texcoordArray[tcIndex ++] = 0.0;\n", "   var startHRad = -PI;\n", "   var startVRad = -PI_OVER_TWO + stepVRad;\n", "   for (var U = 0; U < yCount - 1; U++) {\n", "       angelV = startVRad + U * stepVRad;\n", "           angleH = startHRad + F * stepHRad;\n", "           pointsArray[ptIndex ++] = radius * Math.cos(angelV) * Math.cos(angleH);\n", "           pointsArray[ptIndex ++] = radius * Math.cos(angelV) * Math.sin(angleH);\n", "           pointsArray[ptIndex ++] = radius * Math.sin(angelV);\n", "           tt = 0.5 + angleH / hFovRad;\n", "           texcoordArray[tcIndex ++] = tt;\n", "           texcoordArray[tcIndex ++] = (U + 1) / yCount;\n", "       pointsArray[ptIndex ++] = radius;\n", "       texcoordArray[tcIndex ++] = 1.0;\n", "   var faceIndexCount = (xCount * (yCount - 2) + xCount) * 6;\n", "   var faceIndex = 0;\n", "   for (var F = 0; F < xCount; F ++){\n", "       faceIndexArray[faceIndex ++] = F + xCount + 1;\n", "       faceIndexArray[faceIndex ++] = F + xCount;\n", "   for (var U = 0; U < yCount - 2; U ++){\n", "           faceIndexArray[faceIndex ++] = F + xCount + U * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + 1 + U * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + 1 + (U + 1) * (xCount + 1);\n", "           faceIndexArray[faceIndex ++] = F + xCount + (U + 1) * (xCount + 1);\n", "       faceIndexArray[faceIndex ++] = F + xCount + (yCount - 2) * (xCount + 1);\n", "   postMessage({\n", "       faceIndexArray: faceIndexArray\n", "};\n", "onerror = function(error){\n", "application/javascript", "onmessage", "faceIndexArray", "PrimitiveType", "TRIANGLES", "FUNC_ADD", "ONE", "_createShaderProgram", "cull", "_card", "        attribute vec3 a_position;\n        attribute vec2 a_texcoord_0;\n        uniform mat4 u_animationMatrix;\n        varying vec2 v_texcoord_0;\n        ", "        void main()\n        {\n            vec4 p = vec4(a_position, 1.0);\n            v_texcoord_0 = a_texcoord_0;\n            gl_Position = czm_modelViewProjection * u_animationMatrix * p;\n        }\n        ", "        uniform sampler2D u_colorTexture_0;\n        uniform vec4 u_gamma;\n        varying vec2 v_texcoord_0;\n        ", "        float computeW(vec4 color){\n            float w = color.w;\n            if (w == 1.0){\n                //w = min(min(color.r, color.g), color.b);\n                w = sin(color.r * color.g * color.b * 1.5707963);\n            }\n            w = pow(w, u_gamma.w * 10.0);\n            return w;\n        }\n        void main()\n        {\n            vec4 color_0 = texture2D(u_colorTexture_0, v_texcoord_0);\n            color_0.w = computeW(color_0);\n            color_0.rgb *= u_gamma.xyz;\n            gl_FragColor = color_0;\n        }\n        ", "topCylinderColor", "bottomCylinderColor", "createPrestrainPrimitive", "ellipseAppearance", "prestrainEllipsePrimitive", "trackedEntity", "pointEntity", "ellipsePrimitive", "cylinderPrimitive", "MIDDLE_DOWN", "prestrainCylinderPrimitive", "removeById", "EllipseGeometry", "VERTEXT_FORMAT", "POSITION_AND_NORMAL", "data:image/png;base64,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0p8zAAA6E2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE5LTA2LTExVDA5OjQ2OjU3KzA4OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTktMDYtMTFUMTA6MTY6NTMrMDg6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE5LTA2LTExVDEwOjE2OjUzKzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjNkNWU2OTU5LTZiOTMtZTQ0Mi1hNmFkLWVhMmExOWQxZGI0MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo5ODQ4MzQ2Ny03Mjg5LTUzNGQtOTUyOC05MGY3MWU0MTEwMmU8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo5ODQ4MzQ2Ny03Mjg5LTUzNGQtOTUyOC05MGY3MWU0MTEwMmU8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6OTg0ODM0NjctNzI4OS01MzRkLTk1MjgtOTBmNzFlNDExMDJlPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTA2LTExVDA5OjQ2OjU3KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozZDVlNjk1OS02YjkzLWU0NDItYTZhZC1lYTJhMTlkMWRiNDE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDYtMTFUMTA6MTY6NTMrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pu16zW8AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAEbhJREFUeNrsW3t0VPWd//x+9955ZDKTyeRNnrxCXEGEgAqyQXqEWmtdtbj0gVsaaVfWB6tSjh5r67J2j0qhPrrWcnqaLisKVK0bLdsKIiBGBOVhSYiERwghk5AQ8pqZ3Dv3/r77x/yGjrOZyUSC7jnu95zfyeP+Ht/f5/5+3/dlRIQvM3F8yenzACAPwDIAc0cwZhyABwBUXGrm1Es4dz6AbwGYB+BvAPzrCMZ6AHwfwE0A3gewGcChS8EkuwQy4DYA1QBKAZwDsA/AWwB2AwiN4GRWArgRwLUACgB0A3gNwDP/VwH4HoD7ANgB/BnAbwHUj9Lc2QDuBPB3AHwAXgHw41GZmYguts0mov1EdISIVozCfMO1hUT0ARE1EdGdFzvfxTKzjoi6ieipz2Hj8W0JEZ0moneJKOPzBiCfiE4Q0SEiKv0CNh/bXiaiEBF97bOM/ywyYB6APwFYB+DeEYzzAZgG4DKp5nwAFPlMABgA0Azg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", "varying vec3 v_positionMC;\n\t\t\t\tvarying vec3 v_positionEC;\n\t\t\t\tvarying vec2 v_st;\n\t\t\t\t\n\t\t\t\tvoid main()\n\t\t\t\t{\n\t\t\t\t\tczm_materialInput materialInput;\n\t\t\t\t\tvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n\t\t\t\t#ifdef FACE_FORWARD\n\t\t\t\t\tnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\t\t\t\t#endif\n\t\t\t\t\tmaterialInput.s = v_st.s;\n\t\t\t\t\tmaterialInput.st = v_st;\n\t\t\t\t\tmaterialInput.str = vec3(v_st, 0.0);\n\t\t\t\t\tmaterialInput.normalEC = normalEC;\n\t\t\t\t\tmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\t\t\t\t\tvec3 positionToEyeEC = -v_positionEC;\n\t\t\t\t\tmaterialInput.positionToEyeEC = positionToEyeEC;\n\t\t\t\t\tczm_material material = czm_getMaterial(materialInput);\n\t\t\t\t#ifdef FLAT\n\t\t\t\t\tgl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\t\t\t\t#else\n\t\t\t\t\tgl_FragColor = czm_phong(normalize(positionToEyeEC), material", ");\n\t\t\t\t\tif(gl_FragColor.r==1.0&&gl_FragColor.g==1.0&&gl_FragColor.b==1.0&&gl_FragColor.a==1.0){\n\t\t\t\t\t\tgl_FragColor.a = 0.0;\n\t\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t}\n\t\t\t", "GeoLocateRatate", "GeoRayPick", "isOnly", "BoundingRectangle", "View", "deferred", "doPick", "minimumRadius", "postProcess", "offscreen", "_frameState", "brdfLutGenerator", "_brdfLutGenerator", "environmentMap", "_cubeMap", "morphTime", "cullingVolume", "computeCullingVolume", "_terrainExaggeration", "minimumDisableDepthTestDistance", "_minimumDisableDepthTestDistance", "invertClassification", "_sunColor", "_actualInvertClassificationColor", "isTranslucencySupported", "invertClassificationColor", "maximumScreenSpaceError", "CullingVolume", "_environmentState", "skyAtmosphereCommand", "skyBoxCommand", "sunDrawCommand", "sunComputeCommand", "moonCommand", "_depthPlane", "renderTranslucentDepthForPick", "planes", "originalFramebuffer", "useGlobeDepthFramebuffer", "viewport", "_hdr", "globeDepth", "useOIT", "usePostProcess", "useInvertClassification", "PickDepth", "derivedCommands", "picking", "depthOnlyCommand", "EPSILON12", "mergeSort", "updateCamera", "far", "updateFrustum", "ENVIRONMENT", "clearGlobeDepth", "_depthClearCommand", "frustumCommandsList", "opaqueFrustumNearOffset", "stencilBuffer", "updatePass", "commands", "GLOBE", "indices", "executeCopyDepth", "TERRAIN_CLASSIFICATION", "CLASSIFICATION", "CESIUM_3D_TILE", "CESIUM_3D_TILE_CLASSIFICATION", "depthTexture", "useDepthPicking", "createPotentiallyVisibleSet", "executeCopyColor", "uniformState", "_pickOffscreenView", "pickFramebuffer", "begin", "disableThisFrame", "pickEx", "end", "_defaultView", "endFrame", "_pick", "ray", "getDepthEx", "readPixels", "unpack", "getPixelsEx", "PickFramebuffer", "watchPlane", "_picker", "Scene", "_originalDestory", "_originalUpdate", "_updatePicked", "_content", "computeVisibilityWithPlaneMask", "MASK_INDETERMINATE", "MASK_OUTSIDE", "_visibility_Old", "visibility", "computeIntersectionWithBoundingVolume", "clippingPlanesOriginMatrix", "_isClipped", "INSIDE", "OUTSIDE", "Cesium3DTile", "projectTo2D", "_boundingVolume2D", "MASK_INSIDE", "INTERSECTING", "COLUMN0ROW0", "COLUMN0ROW1", "COLUMN0ROW2", "COLUMN1ROW0", "COLUMN2ROW0", "COLUMN2ROW2", "_videoProject", "_context2D", "_width", "_dirty", "_sampler", "_updateSize", "videoWidth", "timeupdate", "_getCurrentTexture", "_createSampler", "_source", "params", "UNSIGNED_BYTE", "copyFrom", "_recreateParseCanvas", "drawImage", "nextPowerOfTwo", "_readVideoFramePixels", "videoHeight", "_videoProjection", "_uniforms", "_postStage", "_videoTexture", "_addEvent", "_removeEvent", "_createEvent", "_FS_Cone", "uniform float mixNum;\n", "uniform float videoDistance;\n", "uniform sampler2D videoTexture;\n", "uniform mat4 videoMapMatrix;\n", "uniform mat4 videoViewMatrix;\n", "uniform vec3 videoMapPosition;\n", "    vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0);\n", "    return posInCamera;\n", "bool videoVisibility(sampler2D shadowMap, vec4 position){\n", "    vec4 positionEC = toEye(v_textureCoordinates, depth);\n", "    if (any(lessThan(videoPosition.xyz, vec3(0.0))) || any(greaterThan(videoPosition.xyz, vec3(1.0))))\n", "    bool visibility = videoVisibility(videoMapTexture, videoPosition);\n", "    if(visibility){\n", "        vec4 videoColor = texture2D(videoTexture, videoPosition.xy);\n", "    }else{\n", "_FS_Cone_Fill", "uniform sampler2D videoMapTexture;\n", "uniform vec4 u_videoColor;\n", "    float visibility = step(position.z, texture2D(shadowMap, position.xy).r);\n", "    return (visibility == 1.0);\n", "    vec4 videoPosition = videoMapMatrix * positionEC;\n", "    videoPosition /= videoPosition.w;\n", "        vec4 videoColor = u_videoColor;\n", "        gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n", "_FS_Sphere", "        mat4 viewScene = videoViewMatrix;\n", "            gl_FragColor = color;\n", "            return;\n", "_FS_Sphere_Fill", "        vec4 positionWC = viewScene * positionEC;\n", "        depth = length(videoMapPosition - positionWC.xyz);\n", "_updateState", "_getCurrentVideoTexture", "fillVideo", "_createUniforms", "_createPostStage", "_clearData", "_addToScene", "_removeFromScene", "mixFactor", "_getShadowMapTexture", "_getShadowMapMatrix", "_getViewMatrix", "hitlineColor", "fovDistance", "_updatePost", "hitlineType", "_MinFovX", "_maxFovX", "_minFovY", "_MinFovY", "_maxFovY", "_MaxFovY", "_minFovDistance", "_MinFovDistance", "_maxFovDistance", "_MaxFovDistance", "_minHeading", "_MinHeading", "_maxHeading", "_MaxHeading", "_MinPitch", "_maxPitch", "_MaxPitch", "_minRoll", "_MinRoll", "_MaxRoll", "_minSegmentCount", "_maxSegmentCount", "_MaxSegmentCount", "_isInvSphere", "_isSphereType", "_minFovX", "_minPitch", "_maxRoll", "_MinSegmentCount", "clampSegmentCount", "clampFovY", "clampFovDistance", "clampHeading", "clampPitch", "_videoProjectionCamera", "_fovY", "_fovDistance", "_mixFactor", "_vs", "_fs", "_renderState", "_segmentCount", "_isNeedRecreate", "_visibly", "_shaderProgram", "minFovX", "config", "maxFovX", "maxFovY", "minFovDistance", "minHeading", "maxHeading", "minPitch", "maxPitch", "minRoll", "maxRoll", "minSegmentCount", "maxSegmentCount", "isSphereType", "isInvSphere", "fovX!", "minFovY", "fovY!", "maxFovDistance", "fovDistance!", "heading!", "roll!", "mixFactor!", "_render", "render!", "_getProjectionCamera", "update!", "_updatePosition", "_tryCreate", "_updateFovX", "fovX", "_updateFovY", "_updatePitch", "_updateRoll", "_updateParams", "fovY", "_computeTransformInv", "_computeTransform!", "_createVS", "uniform vec4 uDiffuseColor;\n", "varying vec4 vColor;\n", "varying vec4 clip_vertex;\n", "varying float fWindowZ;\n", "varying vec3 normal_vertex;\n", "vec4 depthClampFarPlane(vec4 clipPos)\n", "    fWindowZ = (0.5 * (clipPos.z / clipPos.w) + 0.5) * clipPos.w;\n", "    return clipPos;\n", "    vec4 pos = czm_modelViewProjection * vec4(aPosition.xyz, 1.0);\n", "    gl_Position = depthClampFarPlane(pos);\n", "    vColor = uDiffuseColor;\n", "    normal_vertex = aPosition.xyz;\n", "#extension GL_EXT_frag_depth : enable\n", "#extension GL_OES_standard_derivatives : enable\n", "    gl_FragDepthEXT = min(fWindowZ * gl_FragCoord.w, 1.0);\n", "    vec3 normal = cross(vec3(dFdx(normal_vertex.x), dFdx(normal_vertex.y), dFdx(normal_vertex.z)), vec3(dFdy(normal_vertex.x), dFdy(normal_vertex.y), dFdy(normal_vertex.z)));\n", "    normal = normalize(normal);\n", "    vec3 lightDirection = normalize(czm_sunPositionWC - vec3(eyePosition));\n", "    vec4 diffuse = vColor * LIGHT_COLOR * nDotL;\n", "    vec4 ambient = vColor * LIGHT_COLOR;\n", "    gl_FragColor = clamp(diffuse + ambient, vec4(0.0), vec4(1.0));\n", "_createVACone", "_fovX", "_createBoundingVolume", "_createVASphere", "_createVA!", "_createVASphereInv", "_createRenderState", "_createAttributes", "_createShadeProgram", "_createShadeProgram!", "_createFS", "fromCornerPoints", "_updateBoundingVolume!", "_computeTransform", "_recreate!", "LINES", "_shadowMap", "_updateMatrixEvent", "_updateEvent", "_createFramebufferDepth", "_textureSize", "_passes", "_shadowMapTexture", "_clearFramebuffer", "_clearPassState", "_destroyShadowFramebuffer", "_colorAttachment", "build", "_updateOri", "_sceneCamera", "_lightCamera", "videoProjectionMaps", "deactive", "updateFovX", "updateFovY", "updateFovDistance", "_shadowMapMatrix", "_nextName", "VideoProjection", "_instance", "nextName", "GeoVideoProjection", "_videoProjectionConfig", "_videoProjectionFrustumPrimitive", "_videoTextureSource", "_videoProjectionPostRender", "_videoShadowMap", "_fillVideo", "DeveloperErrorEvent", "AddToSceneEvent", "RemoveFromSceneEvent", "UpdateMatrixEvent", "UpdateEvent", "_rebuildPostRender", "CreationEvent", "clampFovX", "_createShadowMap", "_destroyPostStage", "updatePosition", "_updateFovDistance", "_updateHeading", "updateHeadingPitchRoll", "updatePitch", "updateRoll", "clampRoll", "updateHitLineColor", "updateMixFactor", "updateLineWidth", "isSamedName", "isSelf", "updateHeading", "_type", "visibly", "_removeAllEvent", "_projectBackFaces", "noname!", "_findByName", "destoryObject", "getByIndex", "removeByIndex", "removeByName", "getNames", "_videoProjectionCollection", "_renderVideoProjectionCollection", "destroyAllVideoProjections", "destroyVideoProjection", "createVideoProjection", "getVideoProjectionCollection", "_clearPassesVideoProjectionCommands", "_executePassesVideoProjectionCommands", "_executeVideoProjectionCommand", "shadows", "castCommands", "projectBackFaces", "outOfView", "shadowMapCullingVolume", "_updateVideoProjectionCommand", "castShadows", "isVisible", "originalCommand", "createCastDerivedCommand", "_updateVideoProjectionCommands", "debugCommandFilter", "logDepth", "hdr", "debugShowCommands", "shadowState", "receiveShadows", "receiveCommand", "oit", "lightShadowMaps", "lightShadowsEnabled", "pickId", "DerivedCommand", "pickOnly", "createDepthOnlyDerivedCommand", "createHdrCommand", "createReceiveDerivedCommand", "isSupported", "createDerivedCommands", "GeoViewAnalyse", "_stage", "filterFar", "inputPreviousStageTexture", "_textureCache", "outputTexture", "_index", "pixelFormat", "forcePowerOfTwo", "pixelDatatype", "clearColor", "initStage", "uniform float u_filterFar;\n", "vec4 clipToEye(vec2 uv, float depth)\n", "   vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\n", "   vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);\n", "   posEC = posEC / posEC.w;\n", "void main() {\n", "    hsb.g = clamp(hsb.g + 0.03, 0.0, 1.0);\n", "    if (hsb.b > 0.5)\n", "        hsb.b = clamp(hsb.b + 0.01, 0.0, 1.0);\n", "        hsb.b = clamp(hsb.b - 0.02, 0.0, 1.0);\n", "    float depth = czm_readDepth(depthTexture, v_textureCoordinates);\n", "    vec4 posInCamera = clipToEye(v_textureCoordinates, depth);\n", "    float d = length(posInCamera.xyz);\n", "    if (d > u_filterFar)\n", "       gl_FragColor = vec4(mix(color.rgb, vec3(0.8, 0.85, 0.85), 1.0 - u_filterFar / d), 1.0);\n", "    else \n", "       gl_FragColor = vec4(color.rgb, 1.0);\n", "enableFilter", "_isSupported", "GeoWalkerAnimationCamera", "path", "moveStep", "rotateStep", "frameChange", "_lockCamera", "walkFrame", "addChangeEventListener", "_hooker", "_hookUpdate", "geoposition", "unactivate", "_walkAnimation", "_isPause", "changeEvent", "raiseChangeEvent", "isDone", "_isDone", "isPause", "_begin", "_toStop", "state", "_loadGeoposition", "_loadDirection", "run", "ComputeTimeDelta", "getMilliseconds", "getSeconds", "getMinutes", "_createState", "date", "endDirection", "moveSpeed", "rotateSpeed", "rotateSize", "manHeight", "manRange", "stateType", "UNKNOWN", "_readyCamera", "_walkQueue", "canLog", "_collideActived", "collideActived", "filterFog", "keys", "GeoWalkerCamera", "logarithmicDepthBuffer", "raiseUpdate", "FORWARD", "LEFTWARD", "computeLeftward", "UPWARD", "computeTrunUp", "DOWNWARD", "computeTrunDown", "computeTrunRight", "jumpUp", "computeInitialPosition", "computeForeward", "_computeCollideDistance", "Forward : height = ", "Forward Node : height = ", "computeBackward", "getTangentNormal", "Backward : height = ", "Backward Node : height = ", "collide :", " max: ", "Not collide", "computeTrunLeft", "raiseMouseMove", "filterWithCamera", "getFront", "getRear", "getAvgHeight", "getDropThreshold", "preventFalling", "getLatelyHeight", "GeoWater", "_pointsToCartographic", "_waterColor", "_refractColor", "_waveWidth", "_flowDirection", "_flowSpeed", "_normalTexture", "_m_startTime", "_reflectCamera", "_reflectPassState", "_isVisible", "_waterPolygon", "_computeBoundingRectangle", "_polygonHierarchy", "_lonMin", "_latMin", "_waterCenterPos", "initialize", "RenderbufferFormat", "DEPTH_COMPONENT16", "PassState", "_initialized", "waterPolygon", "workingFrustums", "_fScale", "setRow", "invWorldViewMatrix", "modelViewMatrix", "modeiViewProjection", "_fElapse", "_frameTime", "_flowAngle", "attribute vec3 position;\n\t\t\t\t\t\t\t\t\t\t\tattribute vec2 st;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_modelViewProjectionMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_modelViewMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_invWorldViewMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_texCoordOffset;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_texCoordScale;\n\t\t\t\t\t\t\t\t\t\t\tuniform float u_frameTime;\n\t\t\t\t\t\t\t\t\t\t\tuniform int u_clampToGroud;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec3 u_camPos;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec3 u_scale;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec3 eyeDir;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec2 texCoord;\n\t\t\t\t\t\t\t\t\t\t\tvarying float myTime;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec4 projectionCoord;\n\t\t\t\t\t\t\t\t\t\t\tvoid main(void)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t//gl_Position = ftransform();\n\t\t\t\t\t\t\t\t\t\t\t\tgl_Position = u_modelViewProjectionMatrix * vec4(position.xyz,1.0);\n\t\t\t\t\t\t\t\t\t\t\t\tif (u_clampToGroud == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\teyeDir = (u_camPos - position.xyz) * u_scale;\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec4 pos = u_modelViewMatrix * vec4(position.xyz,1.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\teyeDir = vec3(u_invWorldViewMatrix*vec4(pos.xyz,0.0));\n\t\t\t\t\t\t\t\t\t\t\t\t\tprojectionCoord = gl_Position;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttexCoord = (st+u_texCoordOffset)*u_texCoordScale;\n\t\t\t\t\t\t\t\t\t\t\t\tmyTime = 0.01 * u_frameTime;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t", "uniform sampler2D u_normalMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform sampler2D u_refractMap;\n\t\t\t\t\t\t\t\t\t\t\t\t//uniform samplerCube u_cubeMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform sampler2D u_reflectMap;\n\t\t\t\t\t\t\t\t\t\t\t\t//uniform sampler2D u_flowMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_waterColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_refractColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform int u_useRefractTex;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_reflectColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform int u_reflection;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_flowDir;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec3 eyeDir;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec2 texCoord;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying float myTime;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec4 projectionCoord;\n\t\t\t\t\t\t\t\t\t\t\t\tvoid main (void)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t// texScale determines the amount of tiles generated.\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat texScale = 35.0;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// texScale2 determines the repeat of the water texture (the normalmap) itself\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat texScale2 = 10.0;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat myangle;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat transp;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 myNormal;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 mytexFlowCoord = texCoord * texScale;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ff is the factor that blends the tiles.\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 ff = abs(2.0*(fract(mytexFlowCoord)) - 1.0) -0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// take a third power, to make the area with more or less equal contribution\n\t\t\t\t\t\t\t\t\t\t\t\t\t// of more tile bigger\n\t\t\t\t\t\t\t\t\t\t\t\t\tff = 0.5-4.0*ff*ff*ff;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ffscale is a scaling factor that compensates for the effect that\n\t\t\t\t\t\t\t\t\t\t\t\t\t// adding normal vectors together tends to get them closer to the average normal\n\t\t\t\t\t\t\t\t\t\t\t\t\t// which is a visible effect. For more or less random waves, this factor\n\t\t\t\t\t\t\t\t\t\t\t\t\t// compensates for it\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 ffscale = sqrt(ff*ff + (1.0-ff)*(1.0-ff));\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 Tcoord = texCoord  * texScale2;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// offset makes the water move\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 offset = vec2(myTime,0.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// I scale the texFlowCoord and floor the value to create the tiling\n\t\t\t\t\t\t\t\t\t\t\t\t\t// This could have be replace by an extremely lo-res texture lookup\n\t\t\t\t\t\t\t\t\t\t\t\t\t// using NEAREST pixel.\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 sample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor(mytexFlowCoord)/ texScale).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// flowdir is supposed to go from -1 to 1 and the line below\n\t\t\t\t\t\t\t\t\t\t\t\t\t// used to be sample.xy * 2.0 - 1.0, but saves a multiply by\n\t\t\t\t\t\t\t\t\t\t\t\t\t// moving this factor two to the sample.b\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 flowdir = sample.xy -0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// sample.b is used for the inverse length of the wave\n\t\t\t\t\t\t\t\t\t\t\t\t\t// could be premultiplied in sample.xy, but this is easier for editing flowtexture\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir *= sample.b;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// build the rotation matrix that scales and rotates the complete tile\n\t\t\t\t\t\t\t\t\t\t\t\t\tmat2 rotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this is the normal for tile A\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT0 = texture2D(u_normalMap, rotmat * Tcoord - offset).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// for the next tile (B) I shift by half the tile size in the x-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.5,0)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and the normal for tile B...\n\t\t\t\t\t\t\t\t\t\t\t\t\t// multiply the offset by some number close to 1 to give it a different speed\n\t\t\t\t\t\t\t\t\t\t\t\t\t// The result is that after blending the water starts to animate and look\n\t\t\t\t\t\t\t\t\t\t\t\t\t// realistic, instead of just sliding in some direction.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// This is also why I took the third power of ff above, so the area where the\n\t\t\t\t\t\t\t\t\t\t\t\t\t// water animates is as big as possible\n\t\t\t\t\t\t\t\t\t\t\t\t\t// adding a small arbitrary constant isn't really needed, but helps to show\n\t\t\t\t\t\t\t\t\t\t\t\t\t// a bit less tiling in the beginning of the program. After a few seconds, the\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tiling cannot be seen anymore so this constant could be removed.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// For the quick demo I leave them in. In a simulation that keeps running for\n\t\t\t\t\t\t\t\t\t\t\t\t\t// some time, you could just as well remove these small constant offsets\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT1 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.06+0.62).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// blend them together using the ff factor\n\t\t\t\t\t\t\t\t\t\t\t\t\t// use ff.x because this tile is shifted in the x-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalTAB = ff.x * NormalT0 + (1.0-ff.x) * NormalT1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the scaling of NormalTab and NormalTCD is moved to a single scale of\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalT later in the program, which is mathematically identical to\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalTAB = (NormalTAB - 0.5) / ffscale.x + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tile C is shifted in the y-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.0,0.5)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT0 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.33+0.27).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tile D is shifted in both x- and y-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.5,0.5)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT1 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.24).rg ;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalTCD = ff.x * NormalT0 + (1.0-ff.x) * NormalT1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalTCD = (NormalTCD - 0.5) / ffscale.x + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// now blend the two values togetherv\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT = ff.y * NormalTAB + (1.0-ff.y) * NormalTCD;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this line below used to be here for scaling the result\n\t\t\t\t\t\t\t\t\t\t\t\t\t//NormalT = (NormalT - 0.5) / ffscale.y + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// below the new, direct scaling of NormalT\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT = (NormalT - 0.5) / (ffscale.y * ffscale.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// scaling by 0.3 is arbritrary, and could be done by just\n\t\t\t\t\t\t\t\t\t\t\t\t\t// changing the values in the normal map\n\t\t\t\t\t\t\t\t\t\t\t\t\t// without this factor, the waves look very strong\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT *= 0.3;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// to make the water more transparent\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransp = 1.0;//texture2D( u_flowMap, texFlowCoord ).a;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and scale the normals with the transparency\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT *= transp*transp;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// assume normal of plane is 0,0,1 and produce the normalized sum of adding NormalT to it\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyNormal = vec3(NormalT,sqrt(1.0-NormalT.x*NormalT.x - NormalT.y*NormalT.y));\n\t\t\t\t\t\t\t\t\t\t\t\t\t// 获取反射颜色。\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 envColor = u_reflectColor.rgb;//vec3(0.5647, 0.6941, 0.8235);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (u_reflection == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//vec3 reflectDir = reflect(eyeDir, myNormal);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//vec3 envColor = vec3(textureCube(u_cubeMap, -reflectDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 如果要实现反射真实场景,需要把场景渲染5遍构建一个无底的立方体纹理。\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 目前使用一张反射纹理近似模拟。\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 final = projectionCoord.xy / projectionCoord.w;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfinal = final * 0.5 + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfinal.y = 1.0 - final.y;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tenvColor = texture2D(u_reflectMap, final + myNormal.xy/texScale2*transp).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t// very ugly version of fresnel effect\n\t\t\t\t\t\t\t\t\t\t\t\t\t// but it gives a nice transparent water, but not too transparent\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyangle = dot(myNormal,normalize(eyeDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyangle = 0.95-0.6*myangle*myangle;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// blend in the color of the plane below the water\n\t\t\t\t\t\t\t\t\t\t\t\t\t// add in a little distortion of the colormap for the effect of a refracted\n\t\t\t\t\t\t\t\t\t\t\t\t\t// view of the image below the surface.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// (this isn't really tested, just a last minute addition\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and perhaps should be coded differently\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the correct way, would be to use the refract routine, use the alpha channel for depth of\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the water (and make the water disappear when depth = 0), add some watercolor to the colormap\n\t\t\t\t\t\t\t\t\t\t\t\t\t// depending on the depth, and use the calculated refractdir and the depth to find the right\n\t\t\t\t\t\t\t\t\t\t\t\t\t// pixel in the colormap.... who knows, something for the next version\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 base = u_refractColor.rgb;//vec3(0.3, 0.4, 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (u_useRefractTex == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbase = texture2D(u_refractMap,(texCoord + myNormal.xy/texScale2*0.03*transp)*32.0).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tbase = mix(base, u_waterColor.rgb, u_waterColor.a);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// 光照计算\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 lightDir = czm_sunDirectionEC;//normalize(vec3(0.0, 0.0, 1.0)); // 光照方向需要从外面传入\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 reflectVec = reflect(-lightDir, myNormal);\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat diffuse = max(0.0, dot(myNormal, lightDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat spec = max(dot(reflectVec, normalize(-eyeDir)), 0.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tspec = pow(spec, 128.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t//float lightIntensity = 0.7 * diffuse + 0.3 * spec;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat lightIntensity = 0.3 * spec;\n\t\t\t\t\t\t\t\t\t\t\t\t\tgl_FragColor = vec4(mix(base, envColor, myangle*transp), 1.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tgl_FragColor += vec4(0.8)*lightIntensity;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// note that smaller waves appear to move slower than bigger waves\n\t\t\t\t\t\t\t\t\t\t\t\t\t// one could use the tiles and give each tile a different speed if that\n\t\t\t\t\t\t\t\t\t\t\t\t\t// is what you want\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t", "_uniformMap", "getColorTexture", "_reflectColor", "_waterGeometry", "UNSIGNED_INT", "water", "_updateReflectTexture", "ComputeCommand", "proxy", "metadata", "roadMetadata", "roadUrl", "labelGraphics", "billboardGraphics", "aotuCollide", "collisionPadding", "serverFirstStyle", "tileCache", "labelCache", "_isInitial", "_latelyGrid", "_UUID", "GEO_WTFS_LABEL_", "_UUIDRoad", "getCacheTile", "removeCacheTile", "getCacheLabel", "oid", "addCacheLabel", "removeCacheLabel", "timestamp", "getTileUrl", "/GetTiles?lxys={z},{x},{y}", "getIcoUrl", "/GetIcon?id={id}", "getRoadTileUrl", "_timer", "_tilesToRender", "getTilesToRender", "compareArray", "_queueCall", "_latelyRefreshStamp"];
        n = S,
        function(e) {
            for (; --e; )