@loaders.gl/wkt 4.0.0-alpha.25 → 4.0.0-alpha.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +22 -18
- package/dist/es5/lib/parse-twkb.js +22 -18
- package/dist/es5/lib/parse-twkb.js.map +1 -1
- package/dist/es5/lib/utils/base64-encoder.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/esm/lib/parse-twkb.js +22 -18
- package/dist/esm/lib/parse-twkb.js.map +1 -1
- package/dist/esm/lib/utils/base64-encoder.js.map +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/dist/src/lib/parse-twkb.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wkt-worker.js +1 -1
- package/package.json +4 -4
- package/src/lib/parse-twkb.ts +45 -40
- package/src/lib/utils/base64-encoder.ts +1 -1
package/dist/dist.min.js
CHANGED
|
@@ -1542,6 +1542,26 @@
|
|
|
1542
1542
|
}
|
|
1543
1543
|
function parseTWKBGeometry(arrayBuffer) {
|
|
1544
1544
|
const binaryReader = new BinaryReader(arrayBuffer);
|
|
1545
|
+
const context = parseTWKBHeader(binaryReader);
|
|
1546
|
+
if (context.hasSizeAttribute) {
|
|
1547
|
+
binaryReader.readVarInt();
|
|
1548
|
+
}
|
|
1549
|
+
if (context.hasBoundingBox) {
|
|
1550
|
+
let dimensions = 2;
|
|
1551
|
+
if (context.hasZ) {
|
|
1552
|
+
dimensions++;
|
|
1553
|
+
}
|
|
1554
|
+
if (context.hasM) {
|
|
1555
|
+
dimensions++;
|
|
1556
|
+
}
|
|
1557
|
+
for (let i = 0; i < dimensions; i++) {
|
|
1558
|
+
binaryReader.readVarInt();
|
|
1559
|
+
binaryReader.readVarInt();
|
|
1560
|
+
}
|
|
1561
|
+
}
|
|
1562
|
+
return parseGeometry2(binaryReader, context, context.geometryType);
|
|
1563
|
+
}
|
|
1564
|
+
function parseTWKBHeader(binaryReader) {
|
|
1545
1565
|
const type = binaryReader.readUInt8();
|
|
1546
1566
|
const metadataHeader = binaryReader.readUInt8();
|
|
1547
1567
|
const geometryType = type & 15;
|
|
@@ -1562,7 +1582,8 @@
|
|
|
1562
1582
|
mPrecision = zigZagDecode((extendedPrecision & 224) >> 5);
|
|
1563
1583
|
mPrecisionFactor = Math.pow(10, mPrecision);
|
|
1564
1584
|
}
|
|
1565
|
-
|
|
1585
|
+
return {
|
|
1586
|
+
geometryType,
|
|
1566
1587
|
precision,
|
|
1567
1588
|
precisionFactor: Math.pow(10, precision),
|
|
1568
1589
|
hasBoundingBox: Boolean(metadataHeader >> 0 & 1),
|
|
@@ -1577,23 +1598,6 @@
|
|
|
1577
1598
|
mPrecision,
|
|
1578
1599
|
mPrecisionFactor
|
|
1579
1600
|
};
|
|
1580
|
-
if (context.hasSizeAttribute) {
|
|
1581
|
-
binaryReader.readVarInt();
|
|
1582
|
-
}
|
|
1583
|
-
if (context.hasBoundingBox) {
|
|
1584
|
-
let dimensions = 2;
|
|
1585
|
-
if (context.hasZ) {
|
|
1586
|
-
dimensions++;
|
|
1587
|
-
}
|
|
1588
|
-
if (context.hasM) {
|
|
1589
|
-
dimensions++;
|
|
1590
|
-
}
|
|
1591
|
-
for (let i = 0; i < dimensions; i++) {
|
|
1592
|
-
binaryReader.readVarInt();
|
|
1593
|
-
binaryReader.readVarInt();
|
|
1594
|
-
}
|
|
1595
|
-
}
|
|
1596
|
-
return parseGeometry2(binaryReader, context, geometryType);
|
|
1597
1601
|
}
|
|
1598
1602
|
function parseGeometry2(binaryReader, context, geometryType) {
|
|
1599
1603
|
switch (geometryType) {
|
|
@@ -18,6 +18,26 @@ function isTWKB(arrayBuffer) {
|
|
|
18
18
|
}
|
|
19
19
|
function parseTWKBGeometry(arrayBuffer) {
|
|
20
20
|
var binaryReader = new _binaryReader.BinaryReader(arrayBuffer);
|
|
21
|
+
var context = parseTWKBHeader(binaryReader);
|
|
22
|
+
if (context.hasSizeAttribute) {
|
|
23
|
+
binaryReader.readVarInt();
|
|
24
|
+
}
|
|
25
|
+
if (context.hasBoundingBox) {
|
|
26
|
+
var dimensions = 2;
|
|
27
|
+
if (context.hasZ) {
|
|
28
|
+
dimensions++;
|
|
29
|
+
}
|
|
30
|
+
if (context.hasM) {
|
|
31
|
+
dimensions++;
|
|
32
|
+
}
|
|
33
|
+
for (var i = 0; i < dimensions; i++) {
|
|
34
|
+
binaryReader.readVarInt();
|
|
35
|
+
binaryReader.readVarInt();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return parseGeometry(binaryReader, context, context.geometryType);
|
|
39
|
+
}
|
|
40
|
+
function parseTWKBHeader(binaryReader) {
|
|
21
41
|
var type = binaryReader.readUInt8();
|
|
22
42
|
var metadataHeader = binaryReader.readUInt8();
|
|
23
43
|
var geometryType = type & 0x0f;
|
|
@@ -38,7 +58,8 @@ function parseTWKBGeometry(arrayBuffer) {
|
|
|
38
58
|
mPrecision = zigZagDecode((extendedPrecision & 0xe0) >> 5);
|
|
39
59
|
mPrecisionFactor = Math.pow(10, mPrecision);
|
|
40
60
|
}
|
|
41
|
-
|
|
61
|
+
return {
|
|
62
|
+
geometryType: geometryType,
|
|
42
63
|
precision: precision,
|
|
43
64
|
precisionFactor: Math.pow(10, precision),
|
|
44
65
|
hasBoundingBox: Boolean(metadataHeader >> 0 & 1),
|
|
@@ -53,23 +74,6 @@ function parseTWKBGeometry(arrayBuffer) {
|
|
|
53
74
|
mPrecision: mPrecision,
|
|
54
75
|
mPrecisionFactor: mPrecisionFactor
|
|
55
76
|
};
|
|
56
|
-
if (context.hasSizeAttribute) {
|
|
57
|
-
binaryReader.readVarInt();
|
|
58
|
-
}
|
|
59
|
-
if (context.hasBoundingBox) {
|
|
60
|
-
var dimensions = 2;
|
|
61
|
-
if (context.hasZ) {
|
|
62
|
-
dimensions++;
|
|
63
|
-
}
|
|
64
|
-
if (context.hasM) {
|
|
65
|
-
dimensions++;
|
|
66
|
-
}
|
|
67
|
-
for (var i = 0; i < dimensions; i++) {
|
|
68
|
-
binaryReader.readVarInt();
|
|
69
|
-
binaryReader.readVarInt();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return parseGeometry(binaryReader, context, geometryType);
|
|
73
77
|
}
|
|
74
78
|
function parseGeometry(binaryReader, context, geometryType) {
|
|
75
79
|
switch (geometryType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-twkb.js","names":["_binaryReader","require","_parseWkbHeader","isTWKB","arrayBuffer","binaryReader","BinaryReader","type","readUInt8","geometryType","parseTWKBGeometry","metadataHeader","precision","zigZagDecode","hasExtendedPrecision","Boolean","hasZ","hasM","zPrecision","zPrecisionFactor","mPrecision","mPrecisionFactor","extendedPrecision","Math","pow","context","precisionFactor","hasBoundingBox","hasSizeAttribute","hasIdList","isEmpty","readVarInt","dimensions","i","parseGeometry","WKBGeometryType","Point","parsePoint","LineString","parseLineString","Polygon","parsePolygon","MultiPoint","parseMultiPoint","MultiLineString","parseMultiLineString","MultiPolygon","parseMultiPolygon","GeometryCollection","parseGeometryCollection","Error","concat","reader","coordinates","readFirstPoint","pointCount","previousPoint","makePreviousPoint","points","push","parseNextPoint","ringCount","exteriorRingLength","exteriorRing","polygon","interiorRingCount","interiorRing","j","lineStringCount","lineString","polygonCount","polygons","exteriorPointCount","interiorRingLength","k","geometries","value","makePointCoordinates","x","y","z","m","undefined","slice"],"sources":["../../../src/lib/parse-twkb.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/cschwarz/wkx under MIT license, Copyright (c) 2013 Christian Schwarz\n\nimport type {Geometry, GeometryCollection} from '@loaders.gl/schema';\nimport type {Point, LineString, Polygon} from '@loaders.gl/schema';\nimport type {MultiPoint, MultiLineString, MultiPolygon} from '@loaders.gl/schema';\nimport {BinaryReader} from './utils/binary-reader';\nimport {WKBGeometryType} from './parse-wkb-header';\n\n/**\n * Check if an array buffer might be a TWKB array buffer\n * @param arrayBuffer The array buffer to check\n * @returns false if this is definitely not a TWKB array buffer, true if it might be a TWKB array buffer\n */\nexport function isTWKB(arrayBuffer: ArrayBuffer): boolean {\n const binaryReader = new BinaryReader(arrayBuffer);\n\n const type = binaryReader.readUInt8();\n const geometryType = type & 0x0f;\n\n // Only geometry types 1 to 7 (point to geometry collection are currently defined)\n if (geometryType < 1 || geometryType > 7) {\n return false;\n }\n\n return true;\n}\n\n/** State passed around between parsing functions, extracted from the header */\ntype ParseTWKBState = {\n hasBoundingBox: boolean;\n hasSizeAttribute: boolean;\n hasIdList: boolean;\n hasExtendedPrecision: boolean;\n isEmpty: boolean;\n\n precision: number;\n precisionFactor: number;\n\n hasZ: boolean;\n zPrecision: number;\n zPrecisionFactor: number;\n\n hasM: boolean;\n mPrecision: number;\n mPrecisionFactor: number;\n};\n\nexport function parseTWKBGeometry(arrayBuffer: ArrayBuffer): Geometry {\n const binaryReader = new BinaryReader(arrayBuffer);\n\n const type = binaryReader.readUInt8();\n const metadataHeader = binaryReader.readUInt8();\n\n const geometryType = type & 0x0f;\n\n const precision = zigZagDecode(type >> 4);\n\n const hasExtendedPrecision = Boolean((metadataHeader >> 3) & 1);\n let hasZ = false;\n let hasM = false;\n let zPrecision = 0;\n let zPrecisionFactor = 1;\n let mPrecision = 0;\n let mPrecisionFactor = 1;\n\n if (hasExtendedPrecision) {\n const extendedPrecision = binaryReader.readUInt8();\n hasZ = (extendedPrecision & 0x01) === 0x01;\n hasM = (extendedPrecision & 0x02) === 0x02;\n\n zPrecision = zigZagDecode((extendedPrecision & 0x1c) >> 2);\n zPrecisionFactor = Math.pow(10, zPrecision);\n\n mPrecision = zigZagDecode((extendedPrecision & 0xe0) >> 5);\n mPrecisionFactor = Math.pow(10, mPrecision);\n }\n\n const context: ParseTWKBState = {\n precision,\n precisionFactor: Math.pow(10, precision),\n\n hasBoundingBox: Boolean((metadataHeader >> 0) & 1),\n hasSizeAttribute: Boolean((metadataHeader >> 1) & 1),\n hasIdList: Boolean((metadataHeader >> 2) & 1),\n hasExtendedPrecision,\n isEmpty: Boolean((metadataHeader >> 4) & 1),\n\n hasZ,\n hasM,\n zPrecision,\n zPrecisionFactor,\n mPrecision,\n mPrecisionFactor\n };\n\n if (context.hasSizeAttribute) {\n binaryReader.readVarInt();\n }\n\n if (context.hasBoundingBox) {\n let dimensions = 2;\n\n if (context.hasZ) {\n dimensions++;\n }\n if (context.hasM) {\n dimensions++;\n }\n\n // TODO why are we throwing away these datums?\n for (let i = 0; i < dimensions; i++) {\n binaryReader.readVarInt();\n binaryReader.readVarInt();\n }\n }\n\n return parseGeometry(binaryReader, context, geometryType);\n}\n\nfunction parseGeometry(\n binaryReader: BinaryReader,\n context: ParseTWKBState,\n geometryType: WKBGeometryType\n): Geometry {\n switch (geometryType) {\n case WKBGeometryType.Point:\n return parsePoint(binaryReader, context);\n case WKBGeometryType.LineString:\n return parseLineString(binaryReader, context);\n case WKBGeometryType.Polygon:\n return parsePolygon(binaryReader, context);\n case WKBGeometryType.MultiPoint:\n return parseMultiPoint(binaryReader, context);\n case WKBGeometryType.MultiLineString:\n return parseMultiLineString(binaryReader, context);\n case WKBGeometryType.MultiPolygon:\n return parseMultiPolygon(binaryReader, context);\n case WKBGeometryType.GeometryCollection:\n return parseGeometryCollection(binaryReader, context);\n default:\n throw new Error(`GeometryType ${geometryType} not supported`);\n }\n}\n\n// GEOMETRIES\n\nfunction parsePoint(reader: BinaryReader, context: ParseTWKBState): Point {\n if (context.isEmpty) {\n return {type: 'Point', coordinates: []};\n }\n\n return {type: 'Point', coordinates: readFirstPoint(reader, context)};\n}\n\nfunction parseLineString(reader: BinaryReader, context: ParseTWKBState): LineString {\n if (context.isEmpty) {\n return {type: 'LineString', coordinates: []};\n }\n\n const pointCount = reader.readVarInt();\n\n const previousPoint = makePreviousPoint(context);\n\n const points: number[][] = [];\n for (let i = 0; i < pointCount; i++) {\n points.push(parseNextPoint(reader, context, previousPoint));\n }\n\n return {type: 'LineString', coordinates: points};\n}\n\nfunction parsePolygon(reader: BinaryReader, context: ParseTWKBState): Polygon {\n if (context.isEmpty) {\n return {type: 'Polygon', coordinates: []};\n }\n\n const ringCount = reader.readVarInt();\n\n const previousPoint = makePreviousPoint(context);\n\n const exteriorRingLength = reader.readVarInt();\n const exteriorRing: number[][] = [];\n\n for (let i = 0; i < exteriorRingLength; i++) {\n exteriorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n const polygon: number[][][] = [exteriorRing];\n for (let i = 1; i < ringCount; i++) {\n const interiorRingCount = reader.readVarInt();\n\n const interiorRing: number[][] = [];\n for (let j = 0; j < interiorRingCount; j++) {\n interiorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n polygon.push(interiorRing);\n }\n\n return {type: 'Polygon', coordinates: polygon};\n}\n\nfunction parseMultiPoint(reader: BinaryReader, context: ParseTWKBState): MultiPoint {\n if (context.isEmpty) {\n return {type: 'MultiPoint', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const pointCount = reader.readVarInt();\n\n const coordinates: number[][] = [];\n for (let i = 0; i < pointCount; i++) {\n coordinates.push(parseNextPoint(reader, context, previousPoint));\n }\n\n return {type: 'MultiPoint', coordinates};\n}\n\nfunction parseMultiLineString(reader: BinaryReader, context: ParseTWKBState): MultiLineString {\n if (context.isEmpty) {\n return {type: 'MultiLineString', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const lineStringCount = reader.readVarInt();\n\n const coordinates: number[][][] = [];\n for (let i = 0; i < lineStringCount; i++) {\n const pointCount = reader.readVarInt();\n\n const lineString: number[][] = [];\n for (let j = 0; j < pointCount; j++) {\n lineString.push(parseNextPoint(reader, context, previousPoint));\n }\n\n coordinates.push(lineString);\n }\n\n return {type: 'MultiLineString', coordinates};\n}\n\nfunction parseMultiPolygon(reader: BinaryReader, context: ParseTWKBState): MultiPolygon {\n if (context.isEmpty) {\n return {type: 'MultiPolygon', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const polygonCount = reader.readVarInt();\n\n const polygons: number[][][][] = [];\n for (let i = 0; i < polygonCount; i++) {\n const ringCount = reader.readVarInt();\n\n const exteriorPointCount = reader.readVarInt();\n\n const exteriorRing: number[][] = [];\n for (let j = 0; j < exteriorPointCount; j++) {\n exteriorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n const polygon: number[][][] = exteriorRing ? [exteriorRing] : [];\n\n for (let j = 1; j < ringCount; j++) {\n const interiorRing: number[][] = [];\n\n const interiorRingLength = reader.readVarInt();\n\n for (let k = 0; k < interiorRingLength; k++) {\n interiorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n polygon.push(interiorRing);\n }\n\n polygons.push(polygon);\n }\n\n return {type: 'MultiPolygon', coordinates: polygons};\n}\n\n/** Geometry collection not yet supported */\nfunction parseGeometryCollection(\n reader: BinaryReader,\n context: ParseTWKBState\n): GeometryCollection {\n return {type: 'GeometryCollection', geometries: []};\n /**\n if (context.isEmpty) {\n return {type: 'GeometryCollection', geometries: []};\n }\n\n const geometryCount = reader.readVarInt();\n\n const geometries: Geometry[] = new Array(geometryCount);\n for (let i = 0; i < geometryCount; i++) {\n const geometry = parseGeometry(reader, context, geometryType);\n geometries.push(geometry);\n }\n\n return {type: 'GeometryCollection', geometries: []};\n */\n}\n\n// HELPERS\n\n/** \n * Maps negative values to positive values while going back and\n forth (0 = 0, -1 = 1, 1 = 2, -2 = 3, 2 = 4, -3 = 5, 3 = 6 ...)\n */\nfunction zigZagDecode(value: number): number {\n return (value >> 1) ^ -(value & 1);\n}\n\nfunction makePointCoordinates(x: number, y: number, z?: number, m?: number): number[] {\n return (z !== undefined ? (m !== undefined ? [x, y, z, m] : [x, y, z]) : [x, y]) as number[];\n}\n\nfunction makePreviousPoint(context: ParseTWKBState): number[] {\n return makePointCoordinates(0, 0, context.hasZ ? 0 : undefined, context.hasM ? 0 : undefined);\n}\n\nfunction readFirstPoint(reader: BinaryReader, context: ParseTWKBState): number[] {\n const x = zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n const y = zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n const z = context.hasZ ? zigZagDecode(reader.readVarInt()) / context.zPrecisionFactor : undefined;\n const m = context.hasM ? zigZagDecode(reader.readVarInt()) / context.mPrecisionFactor : undefined;\n return makePointCoordinates(x, y, z, m);\n}\n\n/**\n * Modifies previousPoint\n */\nfunction parseNextPoint(\n reader: BinaryReader,\n context: ParseTWKBState,\n previousPoint: number[]\n): number[] {\n previousPoint[0] += zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n previousPoint[1] += zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n\n if (context.hasZ) {\n previousPoint[2] += zigZagDecode(reader.readVarInt()) / context.zPrecisionFactor;\n }\n if (context.hasM) {\n previousPoint[3] += zigZagDecode(reader.readVarInt()) / context.mPrecisionFactor;\n }\n\n // Copy the point\n return previousPoint.slice();\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-twkb.js","names":["_binaryReader","require","_parseWkbHeader","isTWKB","arrayBuffer","binaryReader","BinaryReader","type","readUInt8","geometryType","parseTWKBGeometry","context","parseTWKBHeader","hasSizeAttribute","readVarInt","hasBoundingBox","dimensions","hasZ","hasM","i","parseGeometry","metadataHeader","precision","zigZagDecode","hasExtendedPrecision","Boolean","zPrecision","zPrecisionFactor","mPrecision","mPrecisionFactor","extendedPrecision","Math","pow","precisionFactor","hasIdList","isEmpty","WKBGeometryType","Point","parsePoint","LineString","parseLineString","Polygon","parsePolygon","MultiPoint","parseMultiPoint","MultiLineString","parseMultiLineString","MultiPolygon","parseMultiPolygon","GeometryCollection","parseGeometryCollection","Error","concat","reader","coordinates","readFirstPoint","pointCount","previousPoint","makePreviousPoint","points","push","parseNextPoint","ringCount","exteriorRingLength","exteriorRing","polygon","interiorRingCount","interiorRing","j","lineStringCount","lineString","polygonCount","polygons","exteriorPointCount","interiorRingLength","k","geometries","value","makePointCoordinates","x","y","z","m","undefined","slice"],"sources":["../../../src/lib/parse-twkb.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/cschwarz/wkx under MIT license, Copyright (c) 2013 Christian Schwarz\n\nimport type {Geometry, GeometryCollection} from '@loaders.gl/schema';\nimport type {Point, LineString, Polygon} from '@loaders.gl/schema';\nimport type {MultiPoint, MultiLineString, MultiPolygon} from '@loaders.gl/schema';\nimport {BinaryReader} from './utils/binary-reader';\nimport {WKBGeometryType} from './parse-wkb-header';\n\n/**\n * Check if an array buffer might be a TWKB array buffer\n * @param arrayBuffer The array buffer to check\n * @returns false if this is definitely not a TWKB array buffer, true if it might be a TWKB array buffer\n */\nexport function isTWKB(arrayBuffer: ArrayBuffer): boolean {\n const binaryReader = new BinaryReader(arrayBuffer);\n\n const type = binaryReader.readUInt8();\n const geometryType = type & 0x0f;\n\n // Only geometry types 1 to 7 (point to geometry collection are currently defined)\n if (geometryType < 1 || geometryType > 7) {\n return false;\n }\n\n return true;\n}\n\n/** Passed around between parsing functions, extracted from the header */\ntype TWKBHeader = {\n geometryType: WKBGeometryType;\n\n hasBoundingBox: boolean;\n hasSizeAttribute: boolean;\n hasIdList: boolean;\n hasExtendedPrecision: boolean;\n isEmpty: boolean;\n\n precision: number;\n precisionFactor: number;\n\n hasZ: boolean;\n zPrecision: number;\n zPrecisionFactor: number;\n\n hasM: boolean;\n mPrecision: number;\n mPrecisionFactor: number;\n};\n\nexport function parseTWKBGeometry(arrayBuffer: ArrayBuffer): Geometry {\n const binaryReader = new BinaryReader(arrayBuffer);\n\n const context = parseTWKBHeader(binaryReader);\n\n if (context.hasSizeAttribute) {\n binaryReader.readVarInt();\n }\n\n if (context.hasBoundingBox) {\n let dimensions = 2;\n\n if (context.hasZ) {\n dimensions++;\n }\n if (context.hasM) {\n dimensions++;\n }\n\n // TODO why are we throwing away these datums?\n for (let i = 0; i < dimensions; i++) {\n binaryReader.readVarInt();\n binaryReader.readVarInt();\n }\n }\n\n return parseGeometry(binaryReader, context, context.geometryType);\n}\n\nfunction parseTWKBHeader(binaryReader: BinaryReader): TWKBHeader {\n const type = binaryReader.readUInt8();\n const metadataHeader = binaryReader.readUInt8();\n\n const geometryType = type & 0x0f;\n\n const precision = zigZagDecode(type >> 4);\n\n const hasExtendedPrecision = Boolean((metadataHeader >> 3) & 1);\n let hasZ = false;\n let hasM = false;\n let zPrecision = 0;\n let zPrecisionFactor = 1;\n let mPrecision = 0;\n let mPrecisionFactor = 1;\n\n if (hasExtendedPrecision) {\n const extendedPrecision = binaryReader.readUInt8();\n hasZ = (extendedPrecision & 0x01) === 0x01;\n hasM = (extendedPrecision & 0x02) === 0x02;\n\n zPrecision = zigZagDecode((extendedPrecision & 0x1c) >> 2);\n zPrecisionFactor = Math.pow(10, zPrecision);\n\n mPrecision = zigZagDecode((extendedPrecision & 0xe0) >> 5);\n mPrecisionFactor = Math.pow(10, mPrecision);\n }\n\n return {\n geometryType,\n\n precision,\n precisionFactor: Math.pow(10, precision),\n\n hasBoundingBox: Boolean((metadataHeader >> 0) & 1),\n hasSizeAttribute: Boolean((metadataHeader >> 1) & 1),\n hasIdList: Boolean((metadataHeader >> 2) & 1),\n hasExtendedPrecision,\n isEmpty: Boolean((metadataHeader >> 4) & 1),\n\n hasZ,\n hasM,\n zPrecision,\n zPrecisionFactor,\n mPrecision,\n mPrecisionFactor\n };\n}\n\nfunction parseGeometry(\n binaryReader: BinaryReader,\n context: TWKBHeader,\n geometryType: WKBGeometryType\n): Geometry {\n switch (geometryType) {\n case WKBGeometryType.Point:\n return parsePoint(binaryReader, context);\n case WKBGeometryType.LineString:\n return parseLineString(binaryReader, context);\n case WKBGeometryType.Polygon:\n return parsePolygon(binaryReader, context);\n case WKBGeometryType.MultiPoint:\n return parseMultiPoint(binaryReader, context);\n case WKBGeometryType.MultiLineString:\n return parseMultiLineString(binaryReader, context);\n case WKBGeometryType.MultiPolygon:\n return parseMultiPolygon(binaryReader, context);\n case WKBGeometryType.GeometryCollection:\n return parseGeometryCollection(binaryReader, context);\n default:\n throw new Error(`GeometryType ${geometryType} not supported`);\n }\n}\n\n// GEOMETRIES\n\nfunction parsePoint(reader: BinaryReader, context: TWKBHeader): Point {\n if (context.isEmpty) {\n return {type: 'Point', coordinates: []};\n }\n\n return {type: 'Point', coordinates: readFirstPoint(reader, context)};\n}\n\nfunction parseLineString(reader: BinaryReader, context: TWKBHeader): LineString {\n if (context.isEmpty) {\n return {type: 'LineString', coordinates: []};\n }\n\n const pointCount = reader.readVarInt();\n\n const previousPoint = makePreviousPoint(context);\n\n const points: number[][] = [];\n for (let i = 0; i < pointCount; i++) {\n points.push(parseNextPoint(reader, context, previousPoint));\n }\n\n return {type: 'LineString', coordinates: points};\n}\n\nfunction parsePolygon(reader: BinaryReader, context: TWKBHeader): Polygon {\n if (context.isEmpty) {\n return {type: 'Polygon', coordinates: []};\n }\n\n const ringCount = reader.readVarInt();\n\n const previousPoint = makePreviousPoint(context);\n\n const exteriorRingLength = reader.readVarInt();\n const exteriorRing: number[][] = [];\n\n for (let i = 0; i < exteriorRingLength; i++) {\n exteriorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n const polygon: number[][][] = [exteriorRing];\n for (let i = 1; i < ringCount; i++) {\n const interiorRingCount = reader.readVarInt();\n\n const interiorRing: number[][] = [];\n for (let j = 0; j < interiorRingCount; j++) {\n interiorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n polygon.push(interiorRing);\n }\n\n return {type: 'Polygon', coordinates: polygon};\n}\n\nfunction parseMultiPoint(reader: BinaryReader, context: TWKBHeader): MultiPoint {\n if (context.isEmpty) {\n return {type: 'MultiPoint', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const pointCount = reader.readVarInt();\n\n const coordinates: number[][] = [];\n for (let i = 0; i < pointCount; i++) {\n coordinates.push(parseNextPoint(reader, context, previousPoint));\n }\n\n return {type: 'MultiPoint', coordinates};\n}\n\nfunction parseMultiLineString(reader: BinaryReader, context: TWKBHeader): MultiLineString {\n if (context.isEmpty) {\n return {type: 'MultiLineString', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const lineStringCount = reader.readVarInt();\n\n const coordinates: number[][][] = [];\n for (let i = 0; i < lineStringCount; i++) {\n const pointCount = reader.readVarInt();\n\n const lineString: number[][] = [];\n for (let j = 0; j < pointCount; j++) {\n lineString.push(parseNextPoint(reader, context, previousPoint));\n }\n\n coordinates.push(lineString);\n }\n\n return {type: 'MultiLineString', coordinates};\n}\n\nfunction parseMultiPolygon(reader: BinaryReader, context: TWKBHeader): MultiPolygon {\n if (context.isEmpty) {\n return {type: 'MultiPolygon', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const polygonCount = reader.readVarInt();\n\n const polygons: number[][][][] = [];\n for (let i = 0; i < polygonCount; i++) {\n const ringCount = reader.readVarInt();\n\n const exteriorPointCount = reader.readVarInt();\n\n const exteriorRing: number[][] = [];\n for (let j = 0; j < exteriorPointCount; j++) {\n exteriorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n const polygon: number[][][] = exteriorRing ? [exteriorRing] : [];\n\n for (let j = 1; j < ringCount; j++) {\n const interiorRing: number[][] = [];\n\n const interiorRingLength = reader.readVarInt();\n\n for (let k = 0; k < interiorRingLength; k++) {\n interiorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n polygon.push(interiorRing);\n }\n\n polygons.push(polygon);\n }\n\n return {type: 'MultiPolygon', coordinates: polygons};\n}\n\n/** Geometry collection not yet supported */\nfunction parseGeometryCollection(reader: BinaryReader, context: TWKBHeader): GeometryCollection {\n return {type: 'GeometryCollection', geometries: []};\n /**\n if (context.isEmpty) {\n return {type: 'GeometryCollection', geometries: []};\n }\n\n const geometryCount = reader.readVarInt();\n\n const geometries: Geometry[] = new Array(geometryCount);\n for (let i = 0; i < geometryCount; i++) {\n const geometry = parseGeometry(reader, context, geometryType);\n geometries.push(geometry);\n }\n\n return {type: 'GeometryCollection', geometries: []};\n */\n}\n\n// HELPERS\n\n/** \n * Maps negative values to positive values while going back and\n forth (0 = 0, -1 = 1, 1 = 2, -2 = 3, 2 = 4, -3 = 5, 3 = 6 ...)\n */\nfunction zigZagDecode(value: number): number {\n return (value >> 1) ^ -(value & 1);\n}\n\nfunction makePointCoordinates(x: number, y: number, z?: number, m?: number): number[] {\n return (z !== undefined ? (m !== undefined ? [x, y, z, m] : [x, y, z]) : [x, y]) as number[];\n}\n\nfunction makePreviousPoint(context: TWKBHeader): number[] {\n return makePointCoordinates(0, 0, context.hasZ ? 0 : undefined, context.hasM ? 0 : undefined);\n}\n\nfunction readFirstPoint(reader: BinaryReader, context: TWKBHeader): number[] {\n const x = zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n const y = zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n const z = context.hasZ ? zigZagDecode(reader.readVarInt()) / context.zPrecisionFactor : undefined;\n const m = context.hasM ? zigZagDecode(reader.readVarInt()) / context.mPrecisionFactor : undefined;\n return makePointCoordinates(x, y, z, m);\n}\n\n/**\n * Modifies previousPoint\n */\nfunction parseNextPoint(\n reader: BinaryReader,\n context: TWKBHeader,\n previousPoint: number[]\n): number[] {\n previousPoint[0] += zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n previousPoint[1] += zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n\n if (context.hasZ) {\n previousPoint[2] += zigZagDecode(reader.readVarInt()) / context.zPrecisionFactor;\n }\n if (context.hasM) {\n previousPoint[3] += zigZagDecode(reader.readVarInt()) / context.mPrecisionFactor;\n }\n\n // Copy the point\n return previousPoint.slice();\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base64-encoder.js","names":["Base64Encoder","_classCallCheck2","default","_createClass2","key","value","getDecodedLength","array","Math","ceil","byteLength","decode","target","exports"],"sources":["../../../../src/lib/utils/base64-encoder.ts"],"sourcesContent":["/* \nconst binary_to_b64_map = [\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',\n 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',\n 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a',\n 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',\n 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',\n 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1',\n '2', '3', '4', '5', '6', '7', '8', '9', '+',\n '/', '='\n];\nconst b64_to_binary_map = {\n '0': 52, '1': 53, '2': 54, '3': 55, '4': 56, '5': 57, '6': 58, '7': 59, '8': 60, '9': 61,\n A: 0, B: 1, C: 2, D: 3, E: 4, F: 5, G: 6, H: 7, I: 8, J: 9, K: 10, L: 11, M: 12, N: 13, O: 14,\n P: 15, Q: 16, R: 17, S: 18, T: 19, U: 20, V: 21, W: 22, X: 23, Y: 24, Z: 25, a: 26, b: 27,\n c: 28, d: 29, e: 30, f: 31, g: 32, h: 33, i: 34, j: 35, k: 36, l: 37, m: 38, n: 39, o: 40,\n p: 41, q: 42, r: 43, s: 44, t: 45, u: 46, v: 47, w: 48, x: 49, y: 50, z: 51, '+': 62, '/': 63,\n '=': 64\n};\n\n*/\n\nexport class Base64Encoder {\n getDecodedLength(array: Uint8Array): number {\n return Math.ceil(array.byteLength / 4) * 3;\n }\n\n decode(array: Uint8Array, target?: ArrayBuffer) {}\n}\n\n/*\n\n//generates an array iterator that returns 3 elements at a time. Use to loop through the Uint8Array Array Buffer\n// to be converted to Base64. (binary array buffer) 8bits * 3 = 6bits * 4 (base64 representation)\nconst generateTripleIterator = (arr) => {\n return {\n *[Symbol.iterator]() {\n for(let n = 0; n < arr.length; n+=3) {\n let result = [];\n result.push(arr[n]);\n\n if(n+1 < arr.length)\n result.push(arr[n+1]);\n if(n+2 < arr.length)\n result.push(arr[n+2]);\n\n yield result;\n }\n }\n };\n};\n\n//generates an array iterator that returns 4 elements at a time. Use to loop through\n// Base64 string because Base64 string is multiples of 4 characters.\nconst generateQuadrupleIterator = (arr) => {\n return {\n *[Symbol.iterator]() {\n for(let n = 0; n < arr.length; n+=4) {\n yield [...arr.slice(n, n+4)];\n }\n }\n };\n};\n\n// Converts a triple of 8 bits into a quadruple of 6 bits. use to convert binary to base64 representation\nconst tripleConvert = (first, second, third) => {\n let [] = triple;\n let binary = null, a = null, b = null, c = null, d = null;\n if (triple.length === 1) {\n binary = (first << 4);\n a = ((binary & 4032) >>> 6);\n b = (binary & 63);\n c = 64;\n d = 64;\n } else if (triple.length === 2) {\n binary = ((first << 10) | (second << 2));\n a = ((binary & 258048) >>> 12);\n b = ((binary & 4032) >>> 6);\n c = (binary & 63);\n d = 64;\n } else {\n binary = ((first << 16) | (second << 8) | third);\n a = ((binary & 16515072) >>> 18);\n b = ((binary & 258048) >>> 12);\n c = ((binary & 4032) >>> 6);\n d = (binary & 63);\n }\n\n return [a, b, c, d];\n};\n\n// Converts a quadruple of 6 bits into a triple of 8 bits. use to convert base64 representation into binary\nconst quadrupleConvert = (quadruple) => {\n let [a, b, c, d] = quadruple;\n let binary = null, first = null, second = null, third = null;\n\n if(c === 64 && d === 64) {\n //two padding\n binary = ((a << 6) | b);\n first = (binary >> 4); //shift off 4 bits, 2 bits per padding\n } else if(d === 64) {\n //one padding\n binary = ((a << 12) | (b << 6) | c );\n binary = (binary >> 2); //shift off 2 bits\n first = binary >> 8;\n second = ((binary << 24) >>> 24);\n } else {\n //no padding\n binary = ((a << 18) | (b << 12) | (c << 6) | d );\n first = (binary >>> 16);\n second = ((binary << 16) >>> 24);\n third = ((binary << 24) >>> 24);\n }\n\n return [first, second, third];\n};\n\n// Convert 8Bits Array Buffer to Base64 string\nexport const ab2b64 = (buffer) => {\n const b64strArray = [];\n const view = new Uint8Array(buffer);\n let iterator = generateTripleIterator(view);\n for(let triple of iterator) {\n b64strArray.push(...tripleConvert(triple));\n }\n return b64strArray.map(b64CharCodePoint => binary_to_b64_map[b64CharCodePoint]).join(\"\");\n};\n\n// Convert Base64 String to 8Bits Array Buffer\nexport const b642ab = (b64str) => {\n let buffer_length = (b64str.length / 4) * 3;\n if(b64str.slice(-2) === '==') {\n buffer_length -= 2;\n } else if(b64str.slice(-1) === '=') {\n buffer_length -= 1;\n }\n\n let buffer = new ArrayBuffer(buffer_length);\n const view = new Uint8Array(buffer);\n let iterator = generateQuadrupleIterator(b64str.split(\"\").map(b64char => b64_to_binary_map[b64char]));\n let byteIndex = 0;\n for(let quadruple of iterator) {\n quadrupleConvert(quadruple).forEach(byte => {\n if(byte != null) {\n view[byteIndex] = byte;\n byteIndex++;\n }\n });\n }\n return buffer;\n};\n\n*/\n"],"mappings":";;;;;;;;;IAsBaA,aAAa;EAAA,SAAAA,cAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,aAAA;EAAA;EAAA,IAAAG,aAAA,CAAAD,OAAA,EAAAF,aAAA;IAAAI,GAAA;IAAAC,KAAA,EACxB,SAAAC,iBAAiBC,KAAiB,EAAU;MAC1C,OAAOC,IAAI,CAACC,IAAI,CAACF,KAAK,CAACG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5C;EAAC;IAAAN,GAAA;IAAAC,KAAA,EAED,SAAAM,OAAOJ,KAAiB,EAAEK,MAAoB,EAAE,CAAC;EAAC;EAAA,OAAAZ,aAAA;AAAA;AAAAa,OAAA,CAAAb,aAAA,GAAAA,aAAA"}
|
|
1
|
+
{"version":3,"file":"base64-encoder.js","names":["Base64Encoder","_classCallCheck2","default","_createClass2","key","value","getDecodedLength","array","Math","ceil","byteLength","decode","target","exports"],"sources":["../../../../src/lib/utils/base64-encoder.ts"],"sourcesContent":["/* \nconst binary_to_b64_map = [\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',\n 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',\n 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a',\n 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',\n 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',\n 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1',\n '2', '3', '4', '5', '6', '7', '8', '9', '+',\n '/', '='\n];\nconst b64_to_binary_map = {\n '0': 52, '1': 53, '2': 54, '3': 55, '4': 56, '5': 57, '6': 58, '7': 59, '8': 60, '9': 61,\n A: 0, B: 1, C: 2, D: 3, E: 4, F: 5, G: 6, H: 7, I: 8, J: 9, K: 10, L: 11, M: 12, N: 13, O: 14,\n P: 15, Q: 16, R: 17, S: 18, T: 19, U: 20, V: 21, W: 22, X: 23, Y: 24, Z: 25, a: 26, b: 27,\n c: 28, d: 29, e: 30, f: 31, g: 32, h: 33, i: 34, j: 35, k: 36, l: 37, m: 38, n: 39, o: 40,\n p: 41, q: 42, r: 43, s: 44, t: 45, u: 46, v: 47, w: 48, x: 49, y: 50, z: 51, '+': 62, '/': 63,\n '=': 64\n};\n\n*/\n\nexport class Base64Encoder {\n getDecodedLength(array: Uint8Array): number {\n return Math.ceil(array.byteLength / 4) * 3;\n }\n\n decode(array: Uint8Array, target?: ArrayBuffer) {} // eslint-disable-line\n}\n\n/*\n\n//generates an array iterator that returns 3 elements at a time. Use to loop through the Uint8Array Array Buffer\n// to be converted to Base64. (binary array buffer) 8bits * 3 = 6bits * 4 (base64 representation)\nconst generateTripleIterator = (arr) => {\n return {\n *[Symbol.iterator]() {\n for(let n = 0; n < arr.length; n+=3) {\n let result = [];\n result.push(arr[n]);\n\n if(n+1 < arr.length)\n result.push(arr[n+1]);\n if(n+2 < arr.length)\n result.push(arr[n+2]);\n\n yield result;\n }\n }\n };\n};\n\n//generates an array iterator that returns 4 elements at a time. Use to loop through\n// Base64 string because Base64 string is multiples of 4 characters.\nconst generateQuadrupleIterator = (arr) => {\n return {\n *[Symbol.iterator]() {\n for(let n = 0; n < arr.length; n+=4) {\n yield [...arr.slice(n, n+4)];\n }\n }\n };\n};\n\n// Converts a triple of 8 bits into a quadruple of 6 bits. use to convert binary to base64 representation\nconst tripleConvert = (first, second, third) => {\n let [] = triple;\n let binary = null, a = null, b = null, c = null, d = null;\n if (triple.length === 1) {\n binary = (first << 4);\n a = ((binary & 4032) >>> 6);\n b = (binary & 63);\n c = 64;\n d = 64;\n } else if (triple.length === 2) {\n binary = ((first << 10) | (second << 2));\n a = ((binary & 258048) >>> 12);\n b = ((binary & 4032) >>> 6);\n c = (binary & 63);\n d = 64;\n } else {\n binary = ((first << 16) | (second << 8) | third);\n a = ((binary & 16515072) >>> 18);\n b = ((binary & 258048) >>> 12);\n c = ((binary & 4032) >>> 6);\n d = (binary & 63);\n }\n\n return [a, b, c, d];\n};\n\n// Converts a quadruple of 6 bits into a triple of 8 bits. use to convert base64 representation into binary\nconst quadrupleConvert = (quadruple) => {\n let [a, b, c, d] = quadruple;\n let binary = null, first = null, second = null, third = null;\n\n if(c === 64 && d === 64) {\n //two padding\n binary = ((a << 6) | b);\n first = (binary >> 4); //shift off 4 bits, 2 bits per padding\n } else if(d === 64) {\n //one padding\n binary = ((a << 12) | (b << 6) | c );\n binary = (binary >> 2); //shift off 2 bits\n first = binary >> 8;\n second = ((binary << 24) >>> 24);\n } else {\n //no padding\n binary = ((a << 18) | (b << 12) | (c << 6) | d );\n first = (binary >>> 16);\n second = ((binary << 16) >>> 24);\n third = ((binary << 24) >>> 24);\n }\n\n return [first, second, third];\n};\n\n// Convert 8Bits Array Buffer to Base64 string\nexport const ab2b64 = (buffer) => {\n const b64strArray = [];\n const view = new Uint8Array(buffer);\n let iterator = generateTripleIterator(view);\n for(let triple of iterator) {\n b64strArray.push(...tripleConvert(triple));\n }\n return b64strArray.map(b64CharCodePoint => binary_to_b64_map[b64CharCodePoint]).join(\"\");\n};\n\n// Convert Base64 String to 8Bits Array Buffer\nexport const b642ab = (b64str) => {\n let buffer_length = (b64str.length / 4) * 3;\n if(b64str.slice(-2) === '==') {\n buffer_length -= 2;\n } else if(b64str.slice(-1) === '=') {\n buffer_length -= 1;\n }\n\n let buffer = new ArrayBuffer(buffer_length);\n const view = new Uint8Array(buffer);\n let iterator = generateQuadrupleIterator(b64str.split(\"\").map(b64char => b64_to_binary_map[b64char]));\n let byteIndex = 0;\n for(let quadruple of iterator) {\n quadrupleConvert(quadruple).forEach(byte => {\n if(byte != null) {\n view[byteIndex] = byte;\n byteIndex++;\n }\n });\n }\n return buffer;\n};\n\n*/\n"],"mappings":";;;;;;;;;IAsBaA,aAAa;EAAA,SAAAA,cAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,aAAA;EAAA;EAAA,IAAAG,aAAA,CAAAD,OAAA,EAAAF,aAAA;IAAAI,GAAA;IAAAC,KAAA,EACxB,SAAAC,iBAAiBC,KAAiB,EAAU;MAC1C,OAAOC,IAAI,CAACC,IAAI,CAACF,KAAK,CAACG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;IAC5C;EAAC;IAAAN,GAAA;IAAAC,KAAA,EAED,SAAAM,OAAOJ,KAAiB,EAAEK,MAAoB,EAAE,CAAC;EAAC;EAAA,OAAAZ,aAAA;AAAA;AAAAa,OAAA,CAAAb,aAAA,GAAAA,aAAA"}
|
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.VERSION = void 0;
|
|
7
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
7
|
+
var VERSION = typeof "4.0.0-alpha.26" !== 'undefined' ? "4.0.0-alpha.26" : 'latest';
|
|
8
8
|
exports.VERSION = VERSION;
|
|
9
9
|
//# sourceMappingURL=version.js.map
|
|
@@ -11,6 +11,26 @@ export function isTWKB(arrayBuffer) {
|
|
|
11
11
|
}
|
|
12
12
|
export function parseTWKBGeometry(arrayBuffer) {
|
|
13
13
|
const binaryReader = new BinaryReader(arrayBuffer);
|
|
14
|
+
const context = parseTWKBHeader(binaryReader);
|
|
15
|
+
if (context.hasSizeAttribute) {
|
|
16
|
+
binaryReader.readVarInt();
|
|
17
|
+
}
|
|
18
|
+
if (context.hasBoundingBox) {
|
|
19
|
+
let dimensions = 2;
|
|
20
|
+
if (context.hasZ) {
|
|
21
|
+
dimensions++;
|
|
22
|
+
}
|
|
23
|
+
if (context.hasM) {
|
|
24
|
+
dimensions++;
|
|
25
|
+
}
|
|
26
|
+
for (let i = 0; i < dimensions; i++) {
|
|
27
|
+
binaryReader.readVarInt();
|
|
28
|
+
binaryReader.readVarInt();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return parseGeometry(binaryReader, context, context.geometryType);
|
|
32
|
+
}
|
|
33
|
+
function parseTWKBHeader(binaryReader) {
|
|
14
34
|
const type = binaryReader.readUInt8();
|
|
15
35
|
const metadataHeader = binaryReader.readUInt8();
|
|
16
36
|
const geometryType = type & 0x0f;
|
|
@@ -31,7 +51,8 @@ export function parseTWKBGeometry(arrayBuffer) {
|
|
|
31
51
|
mPrecision = zigZagDecode((extendedPrecision & 0xe0) >> 5);
|
|
32
52
|
mPrecisionFactor = Math.pow(10, mPrecision);
|
|
33
53
|
}
|
|
34
|
-
|
|
54
|
+
return {
|
|
55
|
+
geometryType,
|
|
35
56
|
precision,
|
|
36
57
|
precisionFactor: Math.pow(10, precision),
|
|
37
58
|
hasBoundingBox: Boolean(metadataHeader >> 0 & 1),
|
|
@@ -46,23 +67,6 @@ export function parseTWKBGeometry(arrayBuffer) {
|
|
|
46
67
|
mPrecision,
|
|
47
68
|
mPrecisionFactor
|
|
48
69
|
};
|
|
49
|
-
if (context.hasSizeAttribute) {
|
|
50
|
-
binaryReader.readVarInt();
|
|
51
|
-
}
|
|
52
|
-
if (context.hasBoundingBox) {
|
|
53
|
-
let dimensions = 2;
|
|
54
|
-
if (context.hasZ) {
|
|
55
|
-
dimensions++;
|
|
56
|
-
}
|
|
57
|
-
if (context.hasM) {
|
|
58
|
-
dimensions++;
|
|
59
|
-
}
|
|
60
|
-
for (let i = 0; i < dimensions; i++) {
|
|
61
|
-
binaryReader.readVarInt();
|
|
62
|
-
binaryReader.readVarInt();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return parseGeometry(binaryReader, context, geometryType);
|
|
66
70
|
}
|
|
67
71
|
function parseGeometry(binaryReader, context, geometryType) {
|
|
68
72
|
switch (geometryType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-twkb.js","names":["BinaryReader","WKBGeometryType","isTWKB","arrayBuffer","binaryReader","type","readUInt8","geometryType","parseTWKBGeometry","metadataHeader","precision","zigZagDecode","hasExtendedPrecision","Boolean","hasZ","hasM","zPrecision","zPrecisionFactor","mPrecision","mPrecisionFactor","extendedPrecision","Math","pow","context","precisionFactor","hasBoundingBox","hasSizeAttribute","hasIdList","isEmpty","readVarInt","dimensions","i","parseGeometry","Point","parsePoint","LineString","parseLineString","Polygon","parsePolygon","MultiPoint","parseMultiPoint","MultiLineString","parseMultiLineString","MultiPolygon","parseMultiPolygon","GeometryCollection","parseGeometryCollection","Error","concat","reader","coordinates","readFirstPoint","pointCount","previousPoint","makePreviousPoint","points","push","parseNextPoint","ringCount","exteriorRingLength","exteriorRing","polygon","interiorRingCount","interiorRing","j","lineStringCount","lineString","polygonCount","polygons","exteriorPointCount","interiorRingLength","k","geometries","value","makePointCoordinates","x","y","z","m","undefined","slice"],"sources":["../../../src/lib/parse-twkb.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/cschwarz/wkx under MIT license, Copyright (c) 2013 Christian Schwarz\n\nimport type {Geometry, GeometryCollection} from '@loaders.gl/schema';\nimport type {Point, LineString, Polygon} from '@loaders.gl/schema';\nimport type {MultiPoint, MultiLineString, MultiPolygon} from '@loaders.gl/schema';\nimport {BinaryReader} from './utils/binary-reader';\nimport {WKBGeometryType} from './parse-wkb-header';\n\n/**\n * Check if an array buffer might be a TWKB array buffer\n * @param arrayBuffer The array buffer to check\n * @returns false if this is definitely not a TWKB array buffer, true if it might be a TWKB array buffer\n */\nexport function isTWKB(arrayBuffer: ArrayBuffer): boolean {\n const binaryReader = new BinaryReader(arrayBuffer);\n\n const type = binaryReader.readUInt8();\n const geometryType = type & 0x0f;\n\n // Only geometry types 1 to 7 (point to geometry collection are currently defined)\n if (geometryType < 1 || geometryType > 7) {\n return false;\n }\n\n return true;\n}\n\n/** State passed around between parsing functions, extracted from the header */\ntype ParseTWKBState = {\n hasBoundingBox: boolean;\n hasSizeAttribute: boolean;\n hasIdList: boolean;\n hasExtendedPrecision: boolean;\n isEmpty: boolean;\n\n precision: number;\n precisionFactor: number;\n\n hasZ: boolean;\n zPrecision: number;\n zPrecisionFactor: number;\n\n hasM: boolean;\n mPrecision: number;\n mPrecisionFactor: number;\n};\n\nexport function parseTWKBGeometry(arrayBuffer: ArrayBuffer): Geometry {\n const binaryReader = new BinaryReader(arrayBuffer);\n\n const type = binaryReader.readUInt8();\n const metadataHeader = binaryReader.readUInt8();\n\n const geometryType = type & 0x0f;\n\n const precision = zigZagDecode(type >> 4);\n\n const hasExtendedPrecision = Boolean((metadataHeader >> 3) & 1);\n let hasZ = false;\n let hasM = false;\n let zPrecision = 0;\n let zPrecisionFactor = 1;\n let mPrecision = 0;\n let mPrecisionFactor = 1;\n\n if (hasExtendedPrecision) {\n const extendedPrecision = binaryReader.readUInt8();\n hasZ = (extendedPrecision & 0x01) === 0x01;\n hasM = (extendedPrecision & 0x02) === 0x02;\n\n zPrecision = zigZagDecode((extendedPrecision & 0x1c) >> 2);\n zPrecisionFactor = Math.pow(10, zPrecision);\n\n mPrecision = zigZagDecode((extendedPrecision & 0xe0) >> 5);\n mPrecisionFactor = Math.pow(10, mPrecision);\n }\n\n const context: ParseTWKBState = {\n precision,\n precisionFactor: Math.pow(10, precision),\n\n hasBoundingBox: Boolean((metadataHeader >> 0) & 1),\n hasSizeAttribute: Boolean((metadataHeader >> 1) & 1),\n hasIdList: Boolean((metadataHeader >> 2) & 1),\n hasExtendedPrecision,\n isEmpty: Boolean((metadataHeader >> 4) & 1),\n\n hasZ,\n hasM,\n zPrecision,\n zPrecisionFactor,\n mPrecision,\n mPrecisionFactor\n };\n\n if (context.hasSizeAttribute) {\n binaryReader.readVarInt();\n }\n\n if (context.hasBoundingBox) {\n let dimensions = 2;\n\n if (context.hasZ) {\n dimensions++;\n }\n if (context.hasM) {\n dimensions++;\n }\n\n // TODO why are we throwing away these datums?\n for (let i = 0; i < dimensions; i++) {\n binaryReader.readVarInt();\n binaryReader.readVarInt();\n }\n }\n\n return parseGeometry(binaryReader, context, geometryType);\n}\n\nfunction parseGeometry(\n binaryReader: BinaryReader,\n context: ParseTWKBState,\n geometryType: WKBGeometryType\n): Geometry {\n switch (geometryType) {\n case WKBGeometryType.Point:\n return parsePoint(binaryReader, context);\n case WKBGeometryType.LineString:\n return parseLineString(binaryReader, context);\n case WKBGeometryType.Polygon:\n return parsePolygon(binaryReader, context);\n case WKBGeometryType.MultiPoint:\n return parseMultiPoint(binaryReader, context);\n case WKBGeometryType.MultiLineString:\n return parseMultiLineString(binaryReader, context);\n case WKBGeometryType.MultiPolygon:\n return parseMultiPolygon(binaryReader, context);\n case WKBGeometryType.GeometryCollection:\n return parseGeometryCollection(binaryReader, context);\n default:\n throw new Error(`GeometryType ${geometryType} not supported`);\n }\n}\n\n// GEOMETRIES\n\nfunction parsePoint(reader: BinaryReader, context: ParseTWKBState): Point {\n if (context.isEmpty) {\n return {type: 'Point', coordinates: []};\n }\n\n return {type: 'Point', coordinates: readFirstPoint(reader, context)};\n}\n\nfunction parseLineString(reader: BinaryReader, context: ParseTWKBState): LineString {\n if (context.isEmpty) {\n return {type: 'LineString', coordinates: []};\n }\n\n const pointCount = reader.readVarInt();\n\n const previousPoint = makePreviousPoint(context);\n\n const points: number[][] = [];\n for (let i = 0; i < pointCount; i++) {\n points.push(parseNextPoint(reader, context, previousPoint));\n }\n\n return {type: 'LineString', coordinates: points};\n}\n\nfunction parsePolygon(reader: BinaryReader, context: ParseTWKBState): Polygon {\n if (context.isEmpty) {\n return {type: 'Polygon', coordinates: []};\n }\n\n const ringCount = reader.readVarInt();\n\n const previousPoint = makePreviousPoint(context);\n\n const exteriorRingLength = reader.readVarInt();\n const exteriorRing: number[][] = [];\n\n for (let i = 0; i < exteriorRingLength; i++) {\n exteriorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n const polygon: number[][][] = [exteriorRing];\n for (let i = 1; i < ringCount; i++) {\n const interiorRingCount = reader.readVarInt();\n\n const interiorRing: number[][] = [];\n for (let j = 0; j < interiorRingCount; j++) {\n interiorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n polygon.push(interiorRing);\n }\n\n return {type: 'Polygon', coordinates: polygon};\n}\n\nfunction parseMultiPoint(reader: BinaryReader, context: ParseTWKBState): MultiPoint {\n if (context.isEmpty) {\n return {type: 'MultiPoint', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const pointCount = reader.readVarInt();\n\n const coordinates: number[][] = [];\n for (let i = 0; i < pointCount; i++) {\n coordinates.push(parseNextPoint(reader, context, previousPoint));\n }\n\n return {type: 'MultiPoint', coordinates};\n}\n\nfunction parseMultiLineString(reader: BinaryReader, context: ParseTWKBState): MultiLineString {\n if (context.isEmpty) {\n return {type: 'MultiLineString', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const lineStringCount = reader.readVarInt();\n\n const coordinates: number[][][] = [];\n for (let i = 0; i < lineStringCount; i++) {\n const pointCount = reader.readVarInt();\n\n const lineString: number[][] = [];\n for (let j = 0; j < pointCount; j++) {\n lineString.push(parseNextPoint(reader, context, previousPoint));\n }\n\n coordinates.push(lineString);\n }\n\n return {type: 'MultiLineString', coordinates};\n}\n\nfunction parseMultiPolygon(reader: BinaryReader, context: ParseTWKBState): MultiPolygon {\n if (context.isEmpty) {\n return {type: 'MultiPolygon', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const polygonCount = reader.readVarInt();\n\n const polygons: number[][][][] = [];\n for (let i = 0; i < polygonCount; i++) {\n const ringCount = reader.readVarInt();\n\n const exteriorPointCount = reader.readVarInt();\n\n const exteriorRing: number[][] = [];\n for (let j = 0; j < exteriorPointCount; j++) {\n exteriorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n const polygon: number[][][] = exteriorRing ? [exteriorRing] : [];\n\n for (let j = 1; j < ringCount; j++) {\n const interiorRing: number[][] = [];\n\n const interiorRingLength = reader.readVarInt();\n\n for (let k = 0; k < interiorRingLength; k++) {\n interiorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n polygon.push(interiorRing);\n }\n\n polygons.push(polygon);\n }\n\n return {type: 'MultiPolygon', coordinates: polygons};\n}\n\n/** Geometry collection not yet supported */\nfunction parseGeometryCollection(\n reader: BinaryReader,\n context: ParseTWKBState\n): GeometryCollection {\n return {type: 'GeometryCollection', geometries: []};\n /**\n if (context.isEmpty) {\n return {type: 'GeometryCollection', geometries: []};\n }\n\n const geometryCount = reader.readVarInt();\n\n const geometries: Geometry[] = new Array(geometryCount);\n for (let i = 0; i < geometryCount; i++) {\n const geometry = parseGeometry(reader, context, geometryType);\n geometries.push(geometry);\n }\n\n return {type: 'GeometryCollection', geometries: []};\n */\n}\n\n// HELPERS\n\n/** \n * Maps negative values to positive values while going back and\n forth (0 = 0, -1 = 1, 1 = 2, -2 = 3, 2 = 4, -3 = 5, 3 = 6 ...)\n */\nfunction zigZagDecode(value: number): number {\n return (value >> 1) ^ -(value & 1);\n}\n\nfunction makePointCoordinates(x: number, y: number, z?: number, m?: number): number[] {\n return (z !== undefined ? (m !== undefined ? [x, y, z, m] : [x, y, z]) : [x, y]) as number[];\n}\n\nfunction makePreviousPoint(context: ParseTWKBState): number[] {\n return makePointCoordinates(0, 0, context.hasZ ? 0 : undefined, context.hasM ? 0 : undefined);\n}\n\nfunction readFirstPoint(reader: BinaryReader, context: ParseTWKBState): number[] {\n const x = zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n const y = zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n const z = context.hasZ ? zigZagDecode(reader.readVarInt()) / context.zPrecisionFactor : undefined;\n const m = context.hasM ? zigZagDecode(reader.readVarInt()) / context.mPrecisionFactor : undefined;\n return makePointCoordinates(x, y, z, m);\n}\n\n/**\n * Modifies previousPoint\n */\nfunction parseNextPoint(\n reader: BinaryReader,\n context: ParseTWKBState,\n previousPoint: number[]\n): number[] {\n previousPoint[0] += zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n previousPoint[1] += zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n\n if (context.hasZ) {\n previousPoint[2] += zigZagDecode(reader.readVarInt()) / context.zPrecisionFactor;\n }\n if (context.hasM) {\n previousPoint[3] += zigZagDecode(reader.readVarInt()) / context.mPrecisionFactor;\n }\n\n // Copy the point\n return previousPoint.slice();\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-twkb.js","names":["BinaryReader","WKBGeometryType","isTWKB","arrayBuffer","binaryReader","type","readUInt8","geometryType","parseTWKBGeometry","context","parseTWKBHeader","hasSizeAttribute","readVarInt","hasBoundingBox","dimensions","hasZ","hasM","i","parseGeometry","metadataHeader","precision","zigZagDecode","hasExtendedPrecision","Boolean","zPrecision","zPrecisionFactor","mPrecision","mPrecisionFactor","extendedPrecision","Math","pow","precisionFactor","hasIdList","isEmpty","Point","parsePoint","LineString","parseLineString","Polygon","parsePolygon","MultiPoint","parseMultiPoint","MultiLineString","parseMultiLineString","MultiPolygon","parseMultiPolygon","GeometryCollection","parseGeometryCollection","Error","concat","reader","coordinates","readFirstPoint","pointCount","previousPoint","makePreviousPoint","points","push","parseNextPoint","ringCount","exteriorRingLength","exteriorRing","polygon","interiorRingCount","interiorRing","j","lineStringCount","lineString","polygonCount","polygons","exteriorPointCount","interiorRingLength","k","geometries","value","makePointCoordinates","x","y","z","m","undefined","slice"],"sources":["../../../src/lib/parse-twkb.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/cschwarz/wkx under MIT license, Copyright (c) 2013 Christian Schwarz\n\nimport type {Geometry, GeometryCollection} from '@loaders.gl/schema';\nimport type {Point, LineString, Polygon} from '@loaders.gl/schema';\nimport type {MultiPoint, MultiLineString, MultiPolygon} from '@loaders.gl/schema';\nimport {BinaryReader} from './utils/binary-reader';\nimport {WKBGeometryType} from './parse-wkb-header';\n\n/**\n * Check if an array buffer might be a TWKB array buffer\n * @param arrayBuffer The array buffer to check\n * @returns false if this is definitely not a TWKB array buffer, true if it might be a TWKB array buffer\n */\nexport function isTWKB(arrayBuffer: ArrayBuffer): boolean {\n const binaryReader = new BinaryReader(arrayBuffer);\n\n const type = binaryReader.readUInt8();\n const geometryType = type & 0x0f;\n\n // Only geometry types 1 to 7 (point to geometry collection are currently defined)\n if (geometryType < 1 || geometryType > 7) {\n return false;\n }\n\n return true;\n}\n\n/** Passed around between parsing functions, extracted from the header */\ntype TWKBHeader = {\n geometryType: WKBGeometryType;\n\n hasBoundingBox: boolean;\n hasSizeAttribute: boolean;\n hasIdList: boolean;\n hasExtendedPrecision: boolean;\n isEmpty: boolean;\n\n precision: number;\n precisionFactor: number;\n\n hasZ: boolean;\n zPrecision: number;\n zPrecisionFactor: number;\n\n hasM: boolean;\n mPrecision: number;\n mPrecisionFactor: number;\n};\n\nexport function parseTWKBGeometry(arrayBuffer: ArrayBuffer): Geometry {\n const binaryReader = new BinaryReader(arrayBuffer);\n\n const context = parseTWKBHeader(binaryReader);\n\n if (context.hasSizeAttribute) {\n binaryReader.readVarInt();\n }\n\n if (context.hasBoundingBox) {\n let dimensions = 2;\n\n if (context.hasZ) {\n dimensions++;\n }\n if (context.hasM) {\n dimensions++;\n }\n\n // TODO why are we throwing away these datums?\n for (let i = 0; i < dimensions; i++) {\n binaryReader.readVarInt();\n binaryReader.readVarInt();\n }\n }\n\n return parseGeometry(binaryReader, context, context.geometryType);\n}\n\nfunction parseTWKBHeader(binaryReader: BinaryReader): TWKBHeader {\n const type = binaryReader.readUInt8();\n const metadataHeader = binaryReader.readUInt8();\n\n const geometryType = type & 0x0f;\n\n const precision = zigZagDecode(type >> 4);\n\n const hasExtendedPrecision = Boolean((metadataHeader >> 3) & 1);\n let hasZ = false;\n let hasM = false;\n let zPrecision = 0;\n let zPrecisionFactor = 1;\n let mPrecision = 0;\n let mPrecisionFactor = 1;\n\n if (hasExtendedPrecision) {\n const extendedPrecision = binaryReader.readUInt8();\n hasZ = (extendedPrecision & 0x01) === 0x01;\n hasM = (extendedPrecision & 0x02) === 0x02;\n\n zPrecision = zigZagDecode((extendedPrecision & 0x1c) >> 2);\n zPrecisionFactor = Math.pow(10, zPrecision);\n\n mPrecision = zigZagDecode((extendedPrecision & 0xe0) >> 5);\n mPrecisionFactor = Math.pow(10, mPrecision);\n }\n\n return {\n geometryType,\n\n precision,\n precisionFactor: Math.pow(10, precision),\n\n hasBoundingBox: Boolean((metadataHeader >> 0) & 1),\n hasSizeAttribute: Boolean((metadataHeader >> 1) & 1),\n hasIdList: Boolean((metadataHeader >> 2) & 1),\n hasExtendedPrecision,\n isEmpty: Boolean((metadataHeader >> 4) & 1),\n\n hasZ,\n hasM,\n zPrecision,\n zPrecisionFactor,\n mPrecision,\n mPrecisionFactor\n };\n}\n\nfunction parseGeometry(\n binaryReader: BinaryReader,\n context: TWKBHeader,\n geometryType: WKBGeometryType\n): Geometry {\n switch (geometryType) {\n case WKBGeometryType.Point:\n return parsePoint(binaryReader, context);\n case WKBGeometryType.LineString:\n return parseLineString(binaryReader, context);\n case WKBGeometryType.Polygon:\n return parsePolygon(binaryReader, context);\n case WKBGeometryType.MultiPoint:\n return parseMultiPoint(binaryReader, context);\n case WKBGeometryType.MultiLineString:\n return parseMultiLineString(binaryReader, context);\n case WKBGeometryType.MultiPolygon:\n return parseMultiPolygon(binaryReader, context);\n case WKBGeometryType.GeometryCollection:\n return parseGeometryCollection(binaryReader, context);\n default:\n throw new Error(`GeometryType ${geometryType} not supported`);\n }\n}\n\n// GEOMETRIES\n\nfunction parsePoint(reader: BinaryReader, context: TWKBHeader): Point {\n if (context.isEmpty) {\n return {type: 'Point', coordinates: []};\n }\n\n return {type: 'Point', coordinates: readFirstPoint(reader, context)};\n}\n\nfunction parseLineString(reader: BinaryReader, context: TWKBHeader): LineString {\n if (context.isEmpty) {\n return {type: 'LineString', coordinates: []};\n }\n\n const pointCount = reader.readVarInt();\n\n const previousPoint = makePreviousPoint(context);\n\n const points: number[][] = [];\n for (let i = 0; i < pointCount; i++) {\n points.push(parseNextPoint(reader, context, previousPoint));\n }\n\n return {type: 'LineString', coordinates: points};\n}\n\nfunction parsePolygon(reader: BinaryReader, context: TWKBHeader): Polygon {\n if (context.isEmpty) {\n return {type: 'Polygon', coordinates: []};\n }\n\n const ringCount = reader.readVarInt();\n\n const previousPoint = makePreviousPoint(context);\n\n const exteriorRingLength = reader.readVarInt();\n const exteriorRing: number[][] = [];\n\n for (let i = 0; i < exteriorRingLength; i++) {\n exteriorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n const polygon: number[][][] = [exteriorRing];\n for (let i = 1; i < ringCount; i++) {\n const interiorRingCount = reader.readVarInt();\n\n const interiorRing: number[][] = [];\n for (let j = 0; j < interiorRingCount; j++) {\n interiorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n polygon.push(interiorRing);\n }\n\n return {type: 'Polygon', coordinates: polygon};\n}\n\nfunction parseMultiPoint(reader: BinaryReader, context: TWKBHeader): MultiPoint {\n if (context.isEmpty) {\n return {type: 'MultiPoint', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const pointCount = reader.readVarInt();\n\n const coordinates: number[][] = [];\n for (let i = 0; i < pointCount; i++) {\n coordinates.push(parseNextPoint(reader, context, previousPoint));\n }\n\n return {type: 'MultiPoint', coordinates};\n}\n\nfunction parseMultiLineString(reader: BinaryReader, context: TWKBHeader): MultiLineString {\n if (context.isEmpty) {\n return {type: 'MultiLineString', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const lineStringCount = reader.readVarInt();\n\n const coordinates: number[][][] = [];\n for (let i = 0; i < lineStringCount; i++) {\n const pointCount = reader.readVarInt();\n\n const lineString: number[][] = [];\n for (let j = 0; j < pointCount; j++) {\n lineString.push(parseNextPoint(reader, context, previousPoint));\n }\n\n coordinates.push(lineString);\n }\n\n return {type: 'MultiLineString', coordinates};\n}\n\nfunction parseMultiPolygon(reader: BinaryReader, context: TWKBHeader): MultiPolygon {\n if (context.isEmpty) {\n return {type: 'MultiPolygon', coordinates: []};\n }\n\n const previousPoint = makePreviousPoint(context);\n const polygonCount = reader.readVarInt();\n\n const polygons: number[][][][] = [];\n for (let i = 0; i < polygonCount; i++) {\n const ringCount = reader.readVarInt();\n\n const exteriorPointCount = reader.readVarInt();\n\n const exteriorRing: number[][] = [];\n for (let j = 0; j < exteriorPointCount; j++) {\n exteriorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n const polygon: number[][][] = exteriorRing ? [exteriorRing] : [];\n\n for (let j = 1; j < ringCount; j++) {\n const interiorRing: number[][] = [];\n\n const interiorRingLength = reader.readVarInt();\n\n for (let k = 0; k < interiorRingLength; k++) {\n interiorRing.push(parseNextPoint(reader, context, previousPoint));\n }\n\n polygon.push(interiorRing);\n }\n\n polygons.push(polygon);\n }\n\n return {type: 'MultiPolygon', coordinates: polygons};\n}\n\n/** Geometry collection not yet supported */\nfunction parseGeometryCollection(reader: BinaryReader, context: TWKBHeader): GeometryCollection {\n return {type: 'GeometryCollection', geometries: []};\n /**\n if (context.isEmpty) {\n return {type: 'GeometryCollection', geometries: []};\n }\n\n const geometryCount = reader.readVarInt();\n\n const geometries: Geometry[] = new Array(geometryCount);\n for (let i = 0; i < geometryCount; i++) {\n const geometry = parseGeometry(reader, context, geometryType);\n geometries.push(geometry);\n }\n\n return {type: 'GeometryCollection', geometries: []};\n */\n}\n\n// HELPERS\n\n/** \n * Maps negative values to positive values while going back and\n forth (0 = 0, -1 = 1, 1 = 2, -2 = 3, 2 = 4, -3 = 5, 3 = 6 ...)\n */\nfunction zigZagDecode(value: number): number {\n return (value >> 1) ^ -(value & 1);\n}\n\nfunction makePointCoordinates(x: number, y: number, z?: number, m?: number): number[] {\n return (z !== undefined ? (m !== undefined ? [x, y, z, m] : [x, y, z]) : [x, y]) as number[];\n}\n\nfunction makePreviousPoint(context: TWKBHeader): number[] {\n return makePointCoordinates(0, 0, context.hasZ ? 0 : undefined, context.hasM ? 0 : undefined);\n}\n\nfunction readFirstPoint(reader: BinaryReader, context: TWKBHeader): number[] {\n const x = zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n const y = zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n const z = context.hasZ ? zigZagDecode(reader.readVarInt()) / context.zPrecisionFactor : undefined;\n const m = context.hasM ? zigZagDecode(reader.readVarInt()) / context.mPrecisionFactor : undefined;\n return makePointCoordinates(x, y, z, m);\n}\n\n/**\n * Modifies previousPoint\n */\nfunction parseNextPoint(\n reader: BinaryReader,\n context: TWKBHeader,\n previousPoint: number[]\n): number[] {\n previousPoint[0] += zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n previousPoint[1] += zigZagDecode(reader.readVarInt()) / context.precisionFactor;\n\n if (context.hasZ) {\n previousPoint[2] += zigZagDecode(reader.readVarInt()) / context.zPrecisionFactor;\n }\n if (context.hasM) {\n previousPoint[3] += zigZagDecode(reader.readVarInt()) / context.mPrecisionFactor;\n }\n\n // Copy the point\n return previousPoint.slice();\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base64-encoder.js","names":["Base64Encoder","getDecodedLength","array","Math","ceil","byteLength","decode","target"],"sources":["../../../../src/lib/utils/base64-encoder.ts"],"sourcesContent":["/* \nconst binary_to_b64_map = [\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',\n 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',\n 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a',\n 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',\n 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',\n 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1',\n '2', '3', '4', '5', '6', '7', '8', '9', '+',\n '/', '='\n];\nconst b64_to_binary_map = {\n '0': 52, '1': 53, '2': 54, '3': 55, '4': 56, '5': 57, '6': 58, '7': 59, '8': 60, '9': 61,\n A: 0, B: 1, C: 2, D: 3, E: 4, F: 5, G: 6, H: 7, I: 8, J: 9, K: 10, L: 11, M: 12, N: 13, O: 14,\n P: 15, Q: 16, R: 17, S: 18, T: 19, U: 20, V: 21, W: 22, X: 23, Y: 24, Z: 25, a: 26, b: 27,\n c: 28, d: 29, e: 30, f: 31, g: 32, h: 33, i: 34, j: 35, k: 36, l: 37, m: 38, n: 39, o: 40,\n p: 41, q: 42, r: 43, s: 44, t: 45, u: 46, v: 47, w: 48, x: 49, y: 50, z: 51, '+': 62, '/': 63,\n '=': 64\n};\n\n*/\n\nexport class Base64Encoder {\n getDecodedLength(array: Uint8Array): number {\n return Math.ceil(array.byteLength / 4) * 3;\n }\n\n decode(array: Uint8Array, target?: ArrayBuffer) {}\n}\n\n/*\n\n//generates an array iterator that returns 3 elements at a time. Use to loop through the Uint8Array Array Buffer\n// to be converted to Base64. (binary array buffer) 8bits * 3 = 6bits * 4 (base64 representation)\nconst generateTripleIterator = (arr) => {\n return {\n *[Symbol.iterator]() {\n for(let n = 0; n < arr.length; n+=3) {\n let result = [];\n result.push(arr[n]);\n\n if(n+1 < arr.length)\n result.push(arr[n+1]);\n if(n+2 < arr.length)\n result.push(arr[n+2]);\n\n yield result;\n }\n }\n };\n};\n\n//generates an array iterator that returns 4 elements at a time. Use to loop through\n// Base64 string because Base64 string is multiples of 4 characters.\nconst generateQuadrupleIterator = (arr) => {\n return {\n *[Symbol.iterator]() {\n for(let n = 0; n < arr.length; n+=4) {\n yield [...arr.slice(n, n+4)];\n }\n }\n };\n};\n\n// Converts a triple of 8 bits into a quadruple of 6 bits. use to convert binary to base64 representation\nconst tripleConvert = (first, second, third) => {\n let [] = triple;\n let binary = null, a = null, b = null, c = null, d = null;\n if (triple.length === 1) {\n binary = (first << 4);\n a = ((binary & 4032) >>> 6);\n b = (binary & 63);\n c = 64;\n d = 64;\n } else if (triple.length === 2) {\n binary = ((first << 10) | (second << 2));\n a = ((binary & 258048) >>> 12);\n b = ((binary & 4032) >>> 6);\n c = (binary & 63);\n d = 64;\n } else {\n binary = ((first << 16) | (second << 8) | third);\n a = ((binary & 16515072) >>> 18);\n b = ((binary & 258048) >>> 12);\n c = ((binary & 4032) >>> 6);\n d = (binary & 63);\n }\n\n return [a, b, c, d];\n};\n\n// Converts a quadruple of 6 bits into a triple of 8 bits. use to convert base64 representation into binary\nconst quadrupleConvert = (quadruple) => {\n let [a, b, c, d] = quadruple;\n let binary = null, first = null, second = null, third = null;\n\n if(c === 64 && d === 64) {\n //two padding\n binary = ((a << 6) | b);\n first = (binary >> 4); //shift off 4 bits, 2 bits per padding\n } else if(d === 64) {\n //one padding\n binary = ((a << 12) | (b << 6) | c );\n binary = (binary >> 2); //shift off 2 bits\n first = binary >> 8;\n second = ((binary << 24) >>> 24);\n } else {\n //no padding\n binary = ((a << 18) | (b << 12) | (c << 6) | d );\n first = (binary >>> 16);\n second = ((binary << 16) >>> 24);\n third = ((binary << 24) >>> 24);\n }\n\n return [first, second, third];\n};\n\n// Convert 8Bits Array Buffer to Base64 string\nexport const ab2b64 = (buffer) => {\n const b64strArray = [];\n const view = new Uint8Array(buffer);\n let iterator = generateTripleIterator(view);\n for(let triple of iterator) {\n b64strArray.push(...tripleConvert(triple));\n }\n return b64strArray.map(b64CharCodePoint => binary_to_b64_map[b64CharCodePoint]).join(\"\");\n};\n\n// Convert Base64 String to 8Bits Array Buffer\nexport const b642ab = (b64str) => {\n let buffer_length = (b64str.length / 4) * 3;\n if(b64str.slice(-2) === '==') {\n buffer_length -= 2;\n } else if(b64str.slice(-1) === '=') {\n buffer_length -= 1;\n }\n\n let buffer = new ArrayBuffer(buffer_length);\n const view = new Uint8Array(buffer);\n let iterator = generateQuadrupleIterator(b64str.split(\"\").map(b64char => b64_to_binary_map[b64char]));\n let byteIndex = 0;\n for(let quadruple of iterator) {\n quadrupleConvert(quadruple).forEach(byte => {\n if(byte != null) {\n view[byteIndex] = byte;\n byteIndex++;\n }\n });\n }\n return buffer;\n};\n\n*/\n"],"mappings":"AAsBA,OAAO,MAAMA,aAAa,CAAC;EACzBC,gBAAgBA,CAACC,KAAiB,EAAU;IAC1C,OAAOC,IAAI,CAACC,IAAI,CAACF,KAAK,CAACG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;EAC5C;EAEAC,MAAMA,CAACJ,KAAiB,EAAEK,MAAoB,EAAE,CAAC;AACnD"}
|
|
1
|
+
{"version":3,"file":"base64-encoder.js","names":["Base64Encoder","getDecodedLength","array","Math","ceil","byteLength","decode","target"],"sources":["../../../../src/lib/utils/base64-encoder.ts"],"sourcesContent":["/* \nconst binary_to_b64_map = [\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',\n 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',\n 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a',\n 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',\n 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',\n 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1',\n '2', '3', '4', '5', '6', '7', '8', '9', '+',\n '/', '='\n];\nconst b64_to_binary_map = {\n '0': 52, '1': 53, '2': 54, '3': 55, '4': 56, '5': 57, '6': 58, '7': 59, '8': 60, '9': 61,\n A: 0, B: 1, C: 2, D: 3, E: 4, F: 5, G: 6, H: 7, I: 8, J: 9, K: 10, L: 11, M: 12, N: 13, O: 14,\n P: 15, Q: 16, R: 17, S: 18, T: 19, U: 20, V: 21, W: 22, X: 23, Y: 24, Z: 25, a: 26, b: 27,\n c: 28, d: 29, e: 30, f: 31, g: 32, h: 33, i: 34, j: 35, k: 36, l: 37, m: 38, n: 39, o: 40,\n p: 41, q: 42, r: 43, s: 44, t: 45, u: 46, v: 47, w: 48, x: 49, y: 50, z: 51, '+': 62, '/': 63,\n '=': 64\n};\n\n*/\n\nexport class Base64Encoder {\n getDecodedLength(array: Uint8Array): number {\n return Math.ceil(array.byteLength / 4) * 3;\n }\n\n decode(array: Uint8Array, target?: ArrayBuffer) {} // eslint-disable-line\n}\n\n/*\n\n//generates an array iterator that returns 3 elements at a time. Use to loop through the Uint8Array Array Buffer\n// to be converted to Base64. (binary array buffer) 8bits * 3 = 6bits * 4 (base64 representation)\nconst generateTripleIterator = (arr) => {\n return {\n *[Symbol.iterator]() {\n for(let n = 0; n < arr.length; n+=3) {\n let result = [];\n result.push(arr[n]);\n\n if(n+1 < arr.length)\n result.push(arr[n+1]);\n if(n+2 < arr.length)\n result.push(arr[n+2]);\n\n yield result;\n }\n }\n };\n};\n\n//generates an array iterator that returns 4 elements at a time. Use to loop through\n// Base64 string because Base64 string is multiples of 4 characters.\nconst generateQuadrupleIterator = (arr) => {\n return {\n *[Symbol.iterator]() {\n for(let n = 0; n < arr.length; n+=4) {\n yield [...arr.slice(n, n+4)];\n }\n }\n };\n};\n\n// Converts a triple of 8 bits into a quadruple of 6 bits. use to convert binary to base64 representation\nconst tripleConvert = (first, second, third) => {\n let [] = triple;\n let binary = null, a = null, b = null, c = null, d = null;\n if (triple.length === 1) {\n binary = (first << 4);\n a = ((binary & 4032) >>> 6);\n b = (binary & 63);\n c = 64;\n d = 64;\n } else if (triple.length === 2) {\n binary = ((first << 10) | (second << 2));\n a = ((binary & 258048) >>> 12);\n b = ((binary & 4032) >>> 6);\n c = (binary & 63);\n d = 64;\n } else {\n binary = ((first << 16) | (second << 8) | third);\n a = ((binary & 16515072) >>> 18);\n b = ((binary & 258048) >>> 12);\n c = ((binary & 4032) >>> 6);\n d = (binary & 63);\n }\n\n return [a, b, c, d];\n};\n\n// Converts a quadruple of 6 bits into a triple of 8 bits. use to convert base64 representation into binary\nconst quadrupleConvert = (quadruple) => {\n let [a, b, c, d] = quadruple;\n let binary = null, first = null, second = null, third = null;\n\n if(c === 64 && d === 64) {\n //two padding\n binary = ((a << 6) | b);\n first = (binary >> 4); //shift off 4 bits, 2 bits per padding\n } else if(d === 64) {\n //one padding\n binary = ((a << 12) | (b << 6) | c );\n binary = (binary >> 2); //shift off 2 bits\n first = binary >> 8;\n second = ((binary << 24) >>> 24);\n } else {\n //no padding\n binary = ((a << 18) | (b << 12) | (c << 6) | d );\n first = (binary >>> 16);\n second = ((binary << 16) >>> 24);\n third = ((binary << 24) >>> 24);\n }\n\n return [first, second, third];\n};\n\n// Convert 8Bits Array Buffer to Base64 string\nexport const ab2b64 = (buffer) => {\n const b64strArray = [];\n const view = new Uint8Array(buffer);\n let iterator = generateTripleIterator(view);\n for(let triple of iterator) {\n b64strArray.push(...tripleConvert(triple));\n }\n return b64strArray.map(b64CharCodePoint => binary_to_b64_map[b64CharCodePoint]).join(\"\");\n};\n\n// Convert Base64 String to 8Bits Array Buffer\nexport const b642ab = (b64str) => {\n let buffer_length = (b64str.length / 4) * 3;\n if(b64str.slice(-2) === '==') {\n buffer_length -= 2;\n } else if(b64str.slice(-1) === '=') {\n buffer_length -= 1;\n }\n\n let buffer = new ArrayBuffer(buffer_length);\n const view = new Uint8Array(buffer);\n let iterator = generateQuadrupleIterator(b64str.split(\"\").map(b64char => b64_to_binary_map[b64char]));\n let byteIndex = 0;\n for(let quadruple of iterator) {\n quadrupleConvert(quadruple).forEach(byte => {\n if(byte != null) {\n view[byteIndex] = byte;\n byteIndex++;\n }\n });\n }\n return buffer;\n};\n\n*/\n"],"mappings":"AAsBA,OAAO,MAAMA,aAAa,CAAC;EACzBC,gBAAgBA,CAACC,KAAiB,EAAU;IAC1C,OAAOC,IAAI,CAACC,IAAI,CAACF,KAAK,CAACG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;EAC5C;EAEAC,MAAMA,CAACJ,KAAiB,EAAEK,MAAoB,EAAE,CAAC;AACnD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = typeof "4.0.0-alpha.
|
|
1
|
+
export const VERSION = typeof "4.0.0-alpha.26" !== 'undefined' ? "4.0.0-alpha.26" : 'latest';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-twkb.d.ts","sourceRoot":"","sources":["../../../src/lib/parse-twkb.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AAMrE;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAYxD;
|
|
1
|
+
{"version":3,"file":"parse-twkb.d.ts","sourceRoot":"","sources":["../../../src/lib/parse-twkb.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AAMrE;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAYxD;AAwBD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,QAAQ,CA2BpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2020.full.d.ts","../src/bundle.ts","../../loader-utils/dist/types.d.ts","../../loader-utils/dist/loader-types.d.ts","../../loader-utils/dist/writer-types.d.ts","../../loader-utils/dist/lib/env-utils/assert.d.ts","../../loader-utils/dist/lib/env-utils/globals.d.ts","../../loader-utils/dist/lib/option-utils/merge-loader-options.d.ts","../../loader-utils/dist/lib/worker-loader-utils/create-loader-worker.d.ts","../../loader-utils/dist/lib/worker-loader-utils/parse-with-worker.d.ts","../../loader-utils/dist/lib/worker-loader-utils/encode-with-worker.d.ts","../../loader-utils/dist/lib/parser-utils/parse-json.d.ts","../../loader-utils/dist/lib/binary-utils/array-buffer-utils.d.ts","../../loader-utils/dist/lib/binary-utils/memory-copy-utils.d.ts","../../loader-utils/dist/lib/binary-utils/dataview-copy-utils.d.ts","../../loader-utils/dist/lib/binary-utils/get-first-characters.d.ts","../../loader-utils/dist/lib/iterators/text-iterators.d.ts","../../loader-utils/dist/lib/iterators/async-iteration.d.ts","../../loader-utils/node_modules/@probe.gl/stats/dist/lib/stat.d.ts","../../loader-utils/node_modules/@probe.gl/stats/dist/lib/stats.d.ts","../../loader-utils/node_modules/@probe.gl/stats/dist/utils/hi-res-timestamp.d.ts","../../loader-utils/node_modules/@probe.gl/stats/dist/index.d.ts","../../loader-utils/dist/lib/request-utils/request-scheduler.d.ts","../../loader-utils/dist/lib/path-utils/file-aliases.d.ts","../../schema/dist/types/types.d.ts","../../schema/dist/types/schema.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/constants.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/encoding.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/byte-buffer.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/builder.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/types.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/utils.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/flatbuffers.d.ts","../../../node_modules/apache-arrow/fb/body-compression-method.d.ts","../../../node_modules/apache-arrow/fb/compression-type.d.ts","../../../node_modules/apache-arrow/fb/body-compression.d.ts","../../../node_modules/apache-arrow/fb/buffer.d.ts","../../../node_modules/apache-arrow/fb/field-node.d.ts","../../../node_modules/apache-arrow/fb/record-batch.d.ts","../../../node_modules/apache-arrow/fb/dictionary-batch.d.ts","../../../node_modules/apache-arrow/fb/endianness.d.ts","../../../node_modules/apache-arrow/fb/dictionary-kind.d.ts","../../../node_modules/apache-arrow/fb/int.d.ts","../../../node_modules/apache-arrow/fb/dictionary-encoding.d.ts","../../../node_modules/apache-arrow/fb/key-value.d.ts","../../../node_modules/apache-arrow/fb/binary.d.ts","../../../node_modules/apache-arrow/fb/bool.d.ts","../../../node_modules/apache-arrow/fb/date-unit.d.ts","../../../node_modules/apache-arrow/fb/date.d.ts","../../../node_modules/apache-arrow/fb/decimal.d.ts","../../../node_modules/apache-arrow/fb/time-unit.d.ts","../../../node_modules/apache-arrow/fb/duration.d.ts","../../../node_modules/apache-arrow/fb/fixed-size-binary.d.ts","../../../node_modules/apache-arrow/fb/fixed-size-list.d.ts","../../../node_modules/apache-arrow/fb/precision.d.ts","../../../node_modules/apache-arrow/fb/floating-point.d.ts","../../../node_modules/apache-arrow/fb/interval-unit.d.ts","../../../node_modules/apache-arrow/fb/interval.d.ts","../../../node_modules/apache-arrow/fb/large-binary.d.ts","../../../node_modules/apache-arrow/fb/large-list.d.ts","../../../node_modules/apache-arrow/fb/large-utf8.d.ts","../../../node_modules/apache-arrow/fb/list.d.ts","../../../node_modules/apache-arrow/fb/map.d.ts","../../../node_modules/apache-arrow/fb/null.d.ts","../../../node_modules/apache-arrow/fb/run-end-encoded.d.ts","../../../node_modules/apache-arrow/fb/struct-.d.ts","../../../node_modules/apache-arrow/fb/time.d.ts","../../../node_modules/apache-arrow/fb/timestamp.d.ts","../../../node_modules/apache-arrow/fb/union-mode.d.ts","../../../node_modules/apache-arrow/fb/union.d.ts","../../../node_modules/apache-arrow/fb/utf8.d.ts","../../../node_modules/apache-arrow/fb/type.d.ts","../../../node_modules/apache-arrow/fb/field.d.ts","../../../node_modules/apache-arrow/fb/schema.d.ts","../../../node_modules/apache-arrow/fb/sparse-matrix-compressed-axis.d.ts","../../../node_modules/apache-arrow/fb/sparse-matrix-index-csx.d.ts","../../../node_modules/apache-arrow/fb/sparse-tensor-index-coo.d.ts","../../../node_modules/apache-arrow/fb/sparse-tensor-index-csf.d.ts","../../../node_modules/apache-arrow/fb/sparse-tensor-index.d.ts","../../../node_modules/apache-arrow/fb/tensor-dim.d.ts","../../../node_modules/apache-arrow/fb/sparse-tensor.d.ts","../../../node_modules/apache-arrow/fb/tensor.d.ts","../../../node_modules/apache-arrow/fb/message-header.d.ts","../../../node_modules/apache-arrow/enum.d.ts","../../../node_modules/apache-arrow/schema.d.ts","../../../node_modules/apache-arrow/row/map.d.ts","../../../node_modules/apache-arrow/row/struct.d.ts","../../../node_modules/apache-arrow/builder/buffer.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/apache-arrow/io/node/builder.d.ts","../../../node_modules/apache-arrow/io/whatwg/builder.d.ts","../../../node_modules/apache-arrow/builder.d.ts","../../../node_modules/apache-arrow/builder/bool.d.ts","../../../node_modules/apache-arrow/builder/null.d.ts","../../../node_modules/apache-arrow/builder/date.d.ts","../../../node_modules/apache-arrow/builder/decimal.d.ts","../../../node_modules/apache-arrow/builder/int.d.ts","../../../node_modules/apache-arrow/builder/dictionary.d.ts","../../../node_modules/apache-arrow/builder/fixedsizebinary.d.ts","../../../node_modules/apache-arrow/builder/float.d.ts","../../../node_modules/apache-arrow/builder/time.d.ts","../../../node_modules/apache-arrow/builder/timestamp.d.ts","../../../node_modules/apache-arrow/builder/interval.d.ts","../../../node_modules/apache-arrow/builder/utf8.d.ts","../../../node_modules/apache-arrow/builder/binary.d.ts","../../../node_modules/apache-arrow/builder/list.d.ts","../../../node_modules/apache-arrow/builder/fixedsizelist.d.ts","../../../node_modules/apache-arrow/builder/map.d.ts","../../../node_modules/apache-arrow/builder/struct.d.ts","../../../node_modules/apache-arrow/builder/union.d.ts","../../../node_modules/apache-arrow/interfaces.d.ts","../../../node_modules/apache-arrow/type.d.ts","../../../node_modules/apache-arrow/vector.d.ts","../../../node_modules/apache-arrow/data.d.ts","../../../node_modules/apache-arrow/recordbatch.d.ts","../../../node_modules/apache-arrow/table.d.ts","../../../node_modules/apache-arrow/visitor.d.ts","../../../node_modules/apache-arrow/factories.d.ts","../../../node_modules/apache-arrow/io/interfaces.d.ts","../../../node_modules/apache-arrow/util/buffer.d.ts","../../../node_modules/apache-arrow/io/stream.d.ts","../../../node_modules/apache-arrow/fb/block.d.ts","../../../node_modules/apache-arrow/ipc/metadata/file.d.ts","../../../node_modules/apache-arrow/ipc/metadata/json.d.ts","../../../node_modules/apache-arrow/ipc/metadata/message.d.ts","../../../node_modules/apache-arrow/io/file.d.ts","../../../node_modules/apache-arrow/ipc/message.d.ts","../../../node_modules/apache-arrow/ipc/reader.d.ts","../../../node_modules/apache-arrow/ipc/writer.d.ts","../../../node_modules/apache-arrow/ipc/serialization.d.ts","../../../node_modules/apache-arrow/util/bn.d.ts","../../../node_modules/apache-arrow/util/int.d.ts","../../../node_modules/apache-arrow/util/bit.d.ts","../../../node_modules/apache-arrow/visitor/typecomparator.d.ts","../../../node_modules/apache-arrow/arrow.d.ts","../../../node_modules/apache-arrow/arrow.dom.d.ts","../../../node_modules/apache-arrow/arrow.node.d.ts","../../schema/dist/types/batch.d.ts","../../../node_modules/@types/geojson/index.d.ts","../../schema/dist/types/flat-geometries.d.ts","../../schema/dist/types/binary-geometries.d.ts","../../schema/dist/types/category-gis.d.ts","../../schema/dist/types/category-table.d.ts","../../schema/dist/lib/table/batches/table-batch-aggregator.d.ts","../../schema/dist/lib/table/batches/table-batch-builder.d.ts","../../schema/dist/lib/table/batches/row-table-batch-aggregator.d.ts","../../schema/dist/lib/table/batches/columnar-table-batch-aggregator.d.ts","../../schema/dist/lib/table/simple-table/table-accessors.d.ts","../../schema/dist/lib/table/arrow-api/enum.d.ts","../../schema/dist/lib/table/arrow-api/arrow-like-type.d.ts","../../schema/dist/lib/table/arrow-api/arrow-like-field.d.ts","../../schema/dist/lib/table/arrow-api/arrow-like-schema.d.ts","../../schema/dist/lib/table/arrow-api/arrow-like-table.d.ts","../../schema/dist/lib/table/simple-table/make-table.d.ts","../../schema/dist/lib/table/simple-table/convert-table.d.ts","../../schema/dist/lib/table/simple-table/table-schema.d.ts","../../schema/dist/lib/table/simple-table/row-utils.d.ts","../../schema/dist/lib/table/simple-table/data-type.d.ts","../../schema/dist/types/category-mesh.d.ts","../../schema/dist/lib/mesh/mesh-utils.d.ts","../../schema/dist/lib/mesh/deduce-mesh-schema.d.ts","../../schema/dist/types/category-image.d.ts","../../schema/dist/types/category-texture.d.ts","../../schema/dist/lib/table/arrow-api/index.d.ts","../../schema/dist/lib/table/arrow-api/get-type-info.d.ts","../../schema/dist/lib/table/arrow/arrow-type-utils.d.ts","../../schema/dist/lib/utils/async-queue.d.ts","../../schema/dist/index.d.ts","../../loader-utils/dist/json-loader.d.ts","../../loader-utils/dist/lib/binary-utils/memory-conversion-utils.d.ts","../../loader-utils/dist/lib/node/promisify.d.ts","../../loader-utils/dist/lib/path-utils/path.d.ts","../../loader-utils/dist/lib/node/fs.d.ts","../../loader-utils/dist/lib/node/stream.d.ts","../../loader-utils/dist/lib/filesystems/filesystem.d.ts","../../loader-utils/dist/lib/filesystems/node-filesystem.d.ts","../../loader-utils/dist/lib/file-provider/file-provider.d.ts","../../loader-utils/dist/lib/file-provider/file-handle.d.ts","../../loader-utils/dist/lib/file-provider/file-handle-file.d.ts","../../loader-utils/dist/lib/file-provider/data-view-file.d.ts","../../loader-utils/dist/lib/filesystems/readable-file.d.ts","../../loader-utils/dist/lib/filesystems/writable-file.d.ts","../../loader-utils/dist/index.d.ts","../src/lib/utils/version.ts","../../gis/dist/lib/flat-geojson-to-binary-types.d.ts","../../gis/dist/lib/flat-geojson-to-binary.d.ts","../../gis/dist/lib/geojson-to-binary.d.ts","../../gis/dist/lib/geojson-to-flat-geojson.d.ts","../../gis/dist/lib/binary-to-geojson.d.ts","../../gis/dist/lib/transform.d.ts","../../gis/dist/index.d.ts","../src/lib/parse-wkb-header.ts","../src/lib/parse-wkb.ts","../src/wkb-loader.ts","../src/lib/utils/hex-transcoder.ts","../src/hex-wkb-loader.ts","../src/lib/parse-wkt-crs.ts","../src/wkt-crs-loader.ts","../src/lib/encode-wkt-crs.ts","../src/wkt-crs-writer.ts","../src/lib/parse-wkt.ts","../src/wkt-loader.ts","../src/lib/encode-wkt.ts","../src/wkt-writer.ts","../src/lib/utils/binary-writer.ts","../src/lib/encode-wkb.ts","../src/wkb-writer.ts","../src/lib/utils/binary-reader.ts","../src/lib/parse-twkb.ts","../src/twkb-loader.ts","../src/lib/encode-twkb.ts","../src/twkb-writer.ts","../src/index.ts","../src/lib/parse-hex-wkb.ts","../src/lib/utils/base64-encoder.ts","../src/lib/utils/hex-encoder.ts","../src/workers/wkb-worker.ts","../src/workers/wkt-worker.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/brotli/compress.d.ts","../../../node_modules/@types/brotli/decompress.d.ts","../../../node_modules/@types/brotli/index.d.ts","../../../node_modules/@types/command-line-args/index.d.ts","../../../node_modules/@types/command-line-usage/index.d.ts","../../../node_modules/@types/crypto-js/index.d.ts","../../../node_modules/@types/emscripten/index.d.ts","../../../node_modules/@types/send/node_modules/@types/mime/index.d.ts","../../../node_modules/@types/send/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/mime/mime.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/http-errors/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/ndarray/index.d.ts","../../../node_modules/@types/get-pixels/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/hammerjs/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node-int64/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/offscreencanvas/index.d.ts","../../../node_modules/@types/pad-left/index.d.ts","../../../node_modules/@types/pako/index.d.ts","../../../node_modules/@types/pbf/index.d.ts","../../../node_modules/@types/pngjs/index.d.ts","../../../node_modules/@types/proj4/index.d.ts","../../../node_modules/@types/q/index.d.ts","../../../node_modules/@types/sql.js/index.d.ts","../../../node_modules/@types/through/index.d.ts","../../../node_modules/@types/tape/index.d.ts","../../../node_modules/@types/tape-promise/index.d.ts","../../../node_modules/@types/thrift/index.d.ts","../../../node_modules/@types/varint/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"322cc0ca9c311414642c0d7ef3b57beedbac198ca074e3e109a4be4c366dcb81",{"version":"9d3c44c5662654459def646b30ff930d4198e5b77d57cf1d21d5de5f7b30dc07","signature":"1160f1801f74994542376d565e986ec3e49c83b662019fe09e2b5107e75977fb","affectsGlobalScope":true},"33e032e02fe1909039aba738d93c54a3552ee2347f47c811c0decd0b8f5b2f3e","b5d49a89aa67cb571b25e167d3902482dcdd94e55743a28bae2afacee7a89e37","354ada2e04452d05bc4aa6f471ed6f917772c954e8a325d98892c74ceed21109","27939d01f8d6be041c1d5c1816b428b3e8229829233e073f7b45b6af3b660ebe","7c4dd44256edda6b1e653ade809a4834ea1672557c32740e7018a89082e67f98","50cccf12df778f241ed7bc0924507debdc3ea0aab99bd8567f4f62ec66ce1e71","16945fb857d0467c9990ab40c66ee4b548b9aac85fdb1dee0a51d7dc93962c57","394462987ac0b4c19b7c59b4eb984f9e5db86af93a96e752918d945197e22982","d20beb3b34cb36fa1a97972df3321ec8e4462a842544c81877f2150bc9c2ddf9","e0f7c61f78b9d64f5c05de758086d992bea83dbdf0c6cace9c5df02534cd0bb2","8312a4d6aa569fc57d9f564678e5817483feb50fedebe84e50cc9c1cf0c33459","65e0b1ad130fc07161f051c2a5e5c3c4a5d3fc9ae70806b87aa3d91e21f25fb4","2ad4364f8229359d8d87035a32a6a4adf4ae17ae417c3020e5051177856f0d6c","d1c7ce4be3ae34ad0b2ea4a685f2521701a36382808d049ac5e2d259025479ed","ab844b5925c28e479fc12a62d863d475404134f4d5c55f9287666ea94aa30d1f","2da34af5c8cf099add4be5774fd504f802e6e0711820b0cddd76da9182c90f19","8432aee1c4d9e7490d0276956afb4945285aa54ca0ef2ea33c94a1362ad40656","289c93fe295277a33119aaee688863eee6d7ec57111f428a12f77ab6af9790a9","476cc782a34c53072c7b585184fab1da9cc381337ce8c7562e2d50d1a16ef5ad","6dd764e36d98ddf0b22e042d5a693a3e7664accff7029a75492e061d763febed","8b789c97d89d9a45ac1005dd50350aecc2c4e9d9ec56efacc3edf41171324ef4","1d6736f895b28f9db177573a41c4b33566a0764b149f0e0dc92116786ae375a2","49e837668d4c989f90c458286cef8ba31dff74baa3101b7246cb4bb0d1401cfe","4407fb1764e98192ae81b9d86e0bda41402fa9dcdc5993feb5f1687fcd4a3d67","05adb45e3dde250b6ae4a50b9dd26457489cbe6bb5de36468aea83df2324e3b8","b71da9f22a46322f03f5900108c7bc23fe598e2dcd3955d94df0bf9b03adc9ef","15d54b1dc36761e843f740e13d896928b5bcb76c9cca250faded032e552ff447","791b89410fb8a65d6993c0bc12abc6a404ffaf21609d752b00228116b2ee1897","a6ce2450e3b08abb086b77e0408b4717322b370715b77f0b9f185619e2523b8c","5bcefd704c479b68d8050f61beeb84911739d7db5ce22b50c2c8396a7f8a973e","1bf22eff6631acc2d999b72cb87f26781fe2d449000beab70e5becba665237aa","cb31fbd38e527e01368c338daa15c472c9dacb72a0a6e483d7f338d2a2b88d92","9a056e9b9acc76b8320976d9fe6cd87c53bc1f4e2919613bcceebcff6b539cfa","a8f09ab4bfbaf32009c5ceb09f267c45d3e9fad63a9640c3dfc824480522eb1c","8d6da1d6d75e21fc322882a7a6cce39c4a85279582c0652fad76ae658f1fa4d8","2dcb4881af7d254e20cef0d36e33ef63025cea48ac9b739e310ac8dfb6a4d4d1","0e8c1b7ce40dab54106b02db1b529a9d1d34b0bec61bdd3af9c27dfc5041b8d5","fdd8e8b914f1d8c32363f45e37f9577be9f65e9171833a4c8c117afde983df3b","9fa2d338f2c6e4fb5a2cf20bc83f24102f177c9996a9550ab9cb295afc443322","b6b354bd57b44849015d119134a2adf6136dd459fb38f3625fbb35c844343362","831e08bc1e0e0fed9f34180a42bcffa15437283b3a90c453f98fd82f639784c0","576d3ac930288e7fe44873f24dd8ba11873ab8c536c5f67464e9acdbdbf5f0be","6210058f2ce3e9052681f3d2df475d6bda1cee4584dd3a5ef1ef0e60959522d7","7a04ce0e85d6db683f63ec9f2699fac3e2d9fdd6a9313dda42e25761a3c83a2c","2b9c4aed45c33a93dc6de1e5894094090363aaee045921a0e6ef245657c5315d","b9c7f144f9051934bba76cb051d806377a0676ed488ae5764daa9bf7a198fbad","dd36b72841bc2a5edbe39640abc5d0175f06b9de32d6b767615c62c460330382","de06c3051539ddd64044947bf5a804005e98b09613699b19de1c09ef8e8df95f","681c8a82369365bef1360957b467844e8bb3e9626df2162d904c8bbfc92863f8","8585b7a7cc1cb48171fd9e168ca0126a921189c6643cc4dd5dac43de6d3b61e4","7eb739af12059b8c368641641776937254b381ba298e43820b78696d4e12d3c9","f85ef2b6b6243d398b2146de3186f12c825a18295d3913aee1d7ad237856c6c3","e83218020bb0bc9a527cf10bca9f3afe489900c60dee03e8398fe135054c81ae","d30f3ae4c835c4006e1676170181461e7e97b4e1d2fa0c96a4d0a355cd97fd8f","989b02e98599537eccb0e89c3c737b75159fc64299bcee5ecf495535a4096efd","b0cfe92f5a41d98256df17702e2e30afbcbc5d33fcde330b20dcac2df26b393e","7de22e2447797056c5bbf57153d8e7d7106bab19b2bb8111cf9c9776935b81e9","74ecda5bfdd35b1b365b3069acb0224303c20b458e92dbacf6954eef4d9f30db","7e1862fcb5a27f449515e7ad569afb738896183889a3dfbf09f125d2ad1effaa","c3bc001ab25d65e716b576b0c607d413802122e85fedf847629227fdbf73298e","e0644b2e6e5f5709fd5b0377e801ae12fbd1a9d612312ed86b823159421e29fd","1dfa53faf0395d8e6714329b001659009171d5268f7231ad05fefeb19b7dd0a2","baf281afcc69097878a9f76190ec1139cdcb6d39adb1e0685644789fe99769ed","6d0e0c26cd26694ef8f4776443fdd846add0a327244424b5be1eb3320a770486","77df8e8553d35e13728f6d0a37ca982520046645694ec1edab9df2df4e905dc2","387575cfe4ed66a1e3b066d2b6923c41be68d39905d62a8fa00e95cee9d4e719","03c9cee66774b18d3c20119b5fd25b3a94f95757aa82cb5bfe9cf7cb91400bd9","0c7aadf8379300a1dba35b087663c682f440aa5923ea96a8ff9ff483b891766c","70f8da676faa53028982803fb3b389b98119fb0b41df9020a3130b008ac6dc74","2409017257471ec5e3bf053cb4a0e0a5f3a7f11901a247118c1654980d7e1fe7","8b729a1d9b4f457b23b790a07111742b5c2714b614da768550e0a7309350e438","07ae8276b1ded724db7342f1271258bdf7d897ad47affecde328f89543fbef71","959e21dddaa3d50c7a9573c033371f8a8eb75e1da2e4f0d2ffc2e44862a7939f","5c5150c7774dcedeaf599b1372b8158b3f8a0e665d602a35e34470822da59f59","fbe77f3f07a47c30835cb7b88d1aeaf605052884b819f0669977a9977bbd4a8f","07cf01ae7f286d5c1390bec1fc2cad285c2cd96b3778b61eddfadd2305786040","d07829c9a6e7288abc6d1df2d0e3ffd31a2418b38e7bf3d374437042844ed17f","7299ae6e1cd70af673d26872a2c7616ea6fa287021669473bdd7842c94094f61","820567b6f3633584ecd3e57c8cc192a6a18f2803edfe730fd1531d9cb6fed891","2ae462dea06b9d0a202c1c034ae686d225169038c33242052f4edf93db00b254","5ffe14c99d9130074d6bbc1edeabe4b4ef9168a05986ac7aff84ac5735c4d77b","e5fdfb44e69cc7ddaf28db39288c24b1116f33539aee0b0fc7b7a436c73cb727","980826c7be8addf3ca7bb0c238d26a682442dfbe0abe8103e63fbba13b942a2c","7f9371e6554e4e48793a31a353d00fa92dd92a0b8fa8ae00e480036e3a4d2776","fdcd57d2575b4e00c4c92b1a2fa15c791365aa763c4d4c901c3f3a362acd27d5","f59156c06f6c0cdbffd04ca6d99b093ba6deceffa921e68e9aebc8f49cb6ec4e","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"f749812878fecfa53cfc13b36e5d35086fb6377983a9df44175da83ccc23af1f","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"80473bd0dd90ca1e166514c2dfead9d5803f9c51418864ca35abbeec6e6847e1","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","3bd1b21f21d18995315d232c5c7e868651e109396f3ca48fa8ab15f57a20d911","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","1422cd9e705adcc09088fda85a900c2b70e3ad36ea85846f68bd1a884cdf4e2b","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true},"868831cab82b65dfe1d68180e898af1f2101e89ba9b754d1db6fb8cc2fac1921","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","73812e98e1ea55e4183fc4cd49c968ce9fb5affad9cd7503781f58160ac830df","dd1f84835041fb21fbcb6d213290cfdb07fbd7551c5b9340db3f5a8906d403c9","d1cf164102945309b279ff06bc2d121ac737e5487a2408914655f689ecc2be1f","fd2d5cc8041746b1cc71ab247163982c68b4fad0522b2a8f555368d57f1aa134","7f56883fceba869ca2e3bab049cf33272bac1a6937c235c652e0bbd9aef67624","af1f132f95a4a56d9304f8dfe68f116d2324b0368411574932c55cbe2fafa214","4e0a5de3811fcb44426b7f6bea3458d1c794591d0b4a715c51c3ad5d70f08ab4","68b735874e866f37d072bf674535a9f33965132ed9e1e4164a6fbc494d590604","9cec0cc895584e0e42d5c97c4a16ebd25a4fa60730c186edf0d28df0a5bc3702","94d41a754d3dda0f2517d49d181f1ba1d812b85e7bc2c822c40be945328edc33","842ffda229092b37ce0bc6748b09a38aaedc8490a69b3a10ec48ebf47baa3224","0449afb9de90d153878437b4004c6c5ce1e2f8f33e93ace383d387b683bac845","358999876ec96fa23597d354ed2fe6ae495d7c654e720ab3be349179133ed14d","8daf1c92a5955e61e5f82160f1d3db34beb4b60657a20ed91e450b32c4d09350","74e3a9065b290394d3ee7fb111bb4523d846663d898aa21bb76c8e9af979ffa2","e19b2a73885f75f29b2adcf1077c8dde7d69137af24c065b5ae7d7fa9bd3b820","0e720e8c78a3398bb6fe498919c4e21ce991c093a93235d7641891b65d0cad54","207e465a5c27537cd6c987739a0ccdd2bd0b13dc69511d11bfe979e19fcbbbbd","7008aa856c52cc0af5aa6c755abfba94dbc5e0a9dac3f9a985eb5ed52e6d535d","27551a71453552cdb14453753b2808fb405e6b1495f53b1de318953ac4ac73b5","0bb991b7c106b013ccd1b236bca252a34d8cfd2a61387409c1c407e8e07acada","0d510711f47a9337d385f7f53cb9bca5a59c245c40d5499ca6db75410a8a9436","865cad10c204bb43eafcdb1957ff4dd810c3caf290cbc18a67d5ca5d48a9b398","a8129d8de89732097a12fa202536d1f18d418be881e1fe2d40cb8883d141a3ea","02fad3c2d4fb705ad84df9e48beeb60b55e803913d504bdb7f37ec80f088d26f","fe47866cf57ede76bc97ddce7d33933ec21a4ffda175a10841e8fba45de7330f","ffe308a8dca440f45388b685bd7bee2a61d9d40624fcd0d6383844d90843bb68","3b7f2318cf351fcf9883a2c87ca85ce4dd3027dfbf6931fc034c9d3f23a2b6c3","8f9fdb0a9539cb998c359c0b991b6c687092306141076a7843d31b016adcd154","533ab639c90c7b6dc53c792dc20e8eecd08b87f7d8b7b9b76df681169a6c097d","f8f1b109894f78f146db848fe2989a01200b094b46677345ba90c0d9a218786a","dd01829a1232dc969066f1a1f478a25ee453a4e76f4e033080e279520b4460ba","d6bf6f2a8f1bf3fdc6ad05035672d8c38a04f72f39c5a55db9f1844689eec144","ec1e72c665317467b85ad4d27f5c106e6a888116f8757d883c8600e5f299192e","414e31d3a66f5c79cb49e82c3960a6983f1c031df82de1008bd255bf7aee58ae","d5d9c822987d673eabe9f058211e5d4015e38023e99738a63157fdf98ad17705","87b5a7dce771abfa0ea41eca3935c98f98148b9f563a62c582f0b456a63d951a","5d176ae3b4b1d9b4fd09dd2181d8822dbdfda2975efbe688289e7799e4acc3f1","9c43cd99639d7a77f9fdbfbc083dc5e074a2755be234dd19005bf01ab6ba1451","26f5cc01fbfc3491b155f37a4972de5df84e9f732ec20c3279992004a695b5aa","27496861e0db6ede90b48607bccd9ea9a18aeac897b463cfadead98abe105ccc","c9be5b0a527826562a6f4026b846647af717bb1366327b31e8eef98ea630b349","87fd703309f6f640f2a0a6ce79c0b14c02cbbfdbd3913d6af601be883ab8cf18","9bb021b1303e52cdc159ad2a254e449c68b9b5157ae26b9d918f19e2c8d94223","ce3e8890c187fdab18aa9c41aeadd0bb3fb13875dea5ea03e1d3c07e8446ee79","2d4ad114f5c2e8d7ca7cbcb94035fd4f45bfdb53dbbc82bd5be39431326ade39","1a90db26f4f4dee02b8bd2a7d470bb08162c644185630c5d71436592d9331536","b01d9cda99bd4a3363a6605f0e20de677fb6942eadd642991fb05a27abbba73e","933684c327bcf518415160c9279befae18e006f3650ad56f6745bc2e1916323f","a3b6c93a9838b8c94c6998e85646d6f2d07c20ecfe1e235dba62158b29451391","0fa5fb053d5976cfc833eac924af0e4d12bcc148a22d2bc05eb4a56dcdfe5c0d","63cf7392a0c1877d0b3d25648e16b32bddebe11f08ba474035b191c960cee0f2","202a0f6f9eff1d888a7a360df4f871a7de8aa7be9d2a14ab6b06943ff5fd46f2","8a4f0e1e23e608bd917a42b2fee9b4aa255c01d5838fb99962a688a3d8276de7","9ebdf3e2e4de01b5761d7863c61e0d7fa690637d92393ef31790a580c5e2f5a9","907a7f4a2f1e385ac53af2c6543acac6b9adab1ef1f827ef2663e4e7f1a98aa4","95f146c547caf2f02fbbd80dd1889aab37912af904d3f70e388ec4fd5c3946a4","f89f5c94352802530fb3801545d83ffa8ce8f9d6d996ce82aa24ddc019e97e47","63c917bca35d28e15479dc2b1b6e572881ba4ee2495390ea8eb91374e43745e3","31fa6e8452bef01da6aa5ad57e621e240c87bc3175ce2d2de552c85d710db746","3014b762a92a846346ae6f1e44164ec30ef6e41e9290fbde51802ae472c7379e","5329a5972c3953a19a37ce65ac539a47de96e36ff87e7eda90d68760e9ed2a5e","cce4acd479fa79d1662ce4fd3b1bc098b3b43d347e4f7c563ea9c5bb38182a8c","379c23bff093a237d2f63c994f3e4ca0f95456c6f0548d0023eab60c61a00fbf","f21309ea38bcb63431532d4c139c235c1d5c5bc4ce15eb8c5cf2055b6b4f1d82","b7eee16c3d82d32ee916e9a663d0e6da58b6620ba094227a3b8bc51c88d83ba9","5283047c95c3895b54471261aada51dd47b4e7c6fb00d58f8a8b4034bd0be517","e29e9bad6fb8e05f3ce22b495ed839301dd8d057484fbd4f4c7218d360f941af","406134b920a681373ceba80dda358a015b0379d752b82b4a4430367196a6f4b5","99ee232ec78662869c921fee90c3809fec53e0e9fcdb0f225b63365a799bc38b","d1ada1111c2d8c6f20f940b0185fcd6f20562c0045d25433d5e2af37bee85fc1","7de5231dae45cbe3be9061a3da7ad310a7b0ee69a485926cb19e9914d3903659","7ca3915472a9f35c88a2661918ce99e1f791c3c04b4d5b25e03a0de99311ec6d","d9c400c03120bd59a0f8c61ca675a92d17679980ec3fd03c8fd566c2962f8cc8","8f1a5455aeff08cbc457dd6779a1ad32dfbb45f8e19075d2a99cbbbb8d519937","dd743ab18dd99672635b11dfc9c6a4ec2e586a018878b6b7d2b6456fabb1c493","6eeeac9646fd4c561c7aa730b9c4a1475eb31a13b0bb682a370cac5faa3feaba","9ee3277aa530d275d666fb69afbb6282c480e7aa5fdd3acede75afda7518abe0","8ad7bb10245defe33f41541c9ae6ba370ba1d691aa76c8bc6ed20834d2770926","417723bcd93ea77a71730d4326b2e9eb3f29ddcf3c217a307dd23fba6921f05b","b3b44303e3858ca1299d6d90165d9e9ef8f9a3a6a430edb31e3001fdc7dc0c68","0eb0ddc4a3111b0e63e4580d71017c73e63bc07e340ca0bcc6635573b3fdde7a","74607de7ffe82d5cea87b084f47bd689e5b32866a79434a2153377cf148dce66","1133c27ca4c37e4b52f6d9734aebfe3bae666447725f7f7a8c0541ae7f898b77","25cf1493daa6661a8a955338741a31c5423d519c197c3c554f4b73ad7e393027","de71c909039b1fedfb18cdd165c2e5cb6689ab64075727acb401d4911c6f2d0b","05fd608fccaf9a3022acf63655a168e09a8503261dffc00d17b83891c5d3d59d","cc452d7aee67d7c81a107da08d17d36bf5e89a13c3819dff8441deee3d4be005","7f9c8e3b58f1af8e935b9e072587cfc3a3a18f798dc11ffbecf9ac7bf194bf8f","5387fd5eb366c494db9bc2c5f1f5fa6c41d363757fd7231e4d8f38fdd0a4bf41","e62d41c984ae275aa3676b2ec6fee1d8ea5148f641a017f9bd6f8944f0b5686a","a814321be049bf59256278f68dce5bd5199c521394b3032b74fde53265c3d492","aedd3163c1b62854300b573c8245a7ac347fdb5ffc27c92a00bb6db9e1871e30","b525390947ad39dbfa3a9c5b19e549b9760e729e4e4d62aa72c7aa1ac5debada",{"version":"b04d54e7191d0b16656241a383ec0e35292a8af6b340b06dd23632c02f108ca9","signature":"3eff7a43fea60123da235222bfdfd875361e6232e4a02ac9ae67f716c3c1a0d3"},"4337e1b005a81abe7536b8fa9f971d53d07357229b4f31e367008876ea587cc2","c87fa2053254bec549fa04be5e89353975d2decf32738f14516a87e36f100dbe","0fcdcd8b98652bb0f672c2bfd53a783d958363e795a02f566d9d6a9b11d3dd98","cd3054a328975e366686057bdc39ea4f9ee8d7c032679d34177180a865e2a322","0eb2dadff717d4edf671104b3cba48ad91df98aa627ce8bab3b142da47740cca","7f5016fa3c6ad02555dd921056428900bfb927ab33993f8c73804b76626198ec","76e6dbd99e0677743c810f1afe976b4488f15a538802adaba3abd5558639e279",{"version":"bf9b88c7a08a7287878718c48e89818168596444a22d4fd0e6679a53fbc4bf2e","signature":"e02dc3974bcac2391d1e663f1e50db4a38bb432f0f6ed73d929419e45eb7e56b"},{"version":"4a9c7bccd09189faae8b45fe6b795ce3fbf39c0001a34269f8200983ef89b0d9","signature":"97012aebd28092de85a0e03a5ef6e1e8f5e4daf2c69139ede8d6d3a5c60c8903"},{"version":"fc31a1999ff51eff4b04810948211e661064a269cc1754b68519702e33416c6a","signature":"8c42e7ad27d1653e5c53c675b2cd705ce9a6ed1ef51ad1f9c8587b2e29a521ea"},{"version":"abaa4b88c6ca1acef412a67f1cf0205853043373a9a4775b455547ed3c200496","signature":"48b0c725db882369e8f09f98844682dc1be5ea89f736a717d3ff88d47a6afd37"},{"version":"0a29b348932862cc17565083cd23d8dd71a1e5a67d4700fd65492a83e3094ed2","signature":"0495419c78707a0d1240e2a681a83ee4d92cb07d95ff62e82cd770d6c8943621"},{"version":"d8ae96055f5fedbec64619a469a977868a19a6c2fa71b4acd5381b4395f36c67","signature":"b3039e730325c860454ab20881d3738e2b7ba3e354d9a97d6d6bb96cc7559741"},{"version":"e0580b05604d6ce4f276415c5068b2ac699bc0c86f18c33ba07be67d3e812108","signature":"676d0cd04ef7fb9af38f207d9422de5bec1cdea601976df63058615d1ea0c5b9"},{"version":"8077abe7525375732cd6ec1557619b2734b5427335ab0186d8467f8f1048bc93","signature":"fd09004f4266a81136bc42211f86f63afab891ad03aeab62bf5d0c9d8a821d2f"},{"version":"35948c3fee68295c4cf41a1954cf5c975822f4284e8589153887f2870ad3f307","signature":"d7d1e48bae7c95cdf9d7e121f565a532b134366628c724ffd12880ac50073935"},{"version":"8e3f3a7bfd90cdbf428bb029e235fa68ee72f3ba39f345ecbd2c51291a562e83","signature":"79efe9b0e5e7ebfab199596cef3c9399b440501a8930d3455a6945ff08bccd56"},{"version":"0d752dfe3523b7684873be1fec19ec8e7e90c32eec7028be42ef9e012e9a31d8","signature":"8fe9712157b2dc7d0ef584c2f8ddb4a53eb1f10d0c3243ec3b1e0574a55a1f07"},{"version":"b537783d4028b57f191a79bf1bd8bc561e1a54ede1f457e8adaeef57cc58e992","signature":"bdb903ff2a03ec608adecaa7f996c71f713a41aa38825cb763be6b18298e1850"},{"version":"82a487264b26a3248e272ae8ed7a252f2d04ccab6e70d34b521a3eec37f75d50","signature":"4b5fb59181afc586d6c39a3357faa9f4e7af0bcb203d1dbfbf03f1efc72c4336"},{"version":"12f5bbfb999971e400f547714542f39a800db29b756e3e9120f1cf163dc3833c","signature":"2048b761cf641bf6907fd04f447b00d9b4b409df8707e92c18c61fbc5c1aa3b7"},{"version":"56129401612e70dfd97fe11e608998226046e5e305ff5d6750ee5a091330aa61","signature":"20efe0569dd3cd5de96f51ece8088e6b73ca1eab052c2f8cea97f1dc2bd927bf"},{"version":"42a19dffb5f52cc5b369e48881dc87773aaab0721e80553cb8f3e09e7252b033","signature":"3ebc8bcf1e701746d52ad3013f3ecdb423f971eb5191d8455c4f919355fcbc67"},{"version":"99f43c7304849570adc26bc51e6c33ba9afdb73e746e1791dfb4564f792e15c8","signature":"6123b5cf95a43141e5567c6285ee6e7485cd3eebee3e986f8b5cec128393c9e7"},{"version":"7615737abd96a659af0d31af617bd5c8a817090e6bdc62d58fc9f565b4b0675c","signature":"d46d05f033b16aa50dcaf1e6646a697a36d486cdf79d20f424a54665c9af9cb2"},{"version":"fea7ed86acd334742adc1a5321b2e79520bcc566a051eb0ff732268338ce36ce","signature":"bdf4bd58cbfb7b905f879effc6d8957505dc47ff1bc567a95f335c475351904e"},{"version":"047d0403607860760f0c05d022d2dcedce635540993db2ef8227d49f205be6ed","signature":"06f1e4d2b6f848143e748b431965f3afd8947506203d8f9ee338db450a66285b"},{"version":"1b53e3a89382cd3b5e3f23dae68b17283d04c3f96c20ea212fc4aae2eec0c9e1","signature":"aa02c5f8a0de7c865320681a1d9d22c15b82f93a6a4113e157acaeac745e3071"},{"version":"bf9a7bef581822415d3889c3c4496eb44773833bfc65e958f714f1e245250fdd","signature":"8c079788fde13309fb4ca3a397e22d7a11e33f699c5fe646b20dc25274d68776"},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"d763fa4498be30db5d65c167a17fedc4e838376b46d70dbb7d2a0fed629d2781","signature":"a9967b8bcbd082908f49956b64fc025824c6734a7904c3e2b7fbc273c5aefa7f"},{"version":"3068f311bdc3320a04e91672bd1a4a223b6faced63ca8e1992ceaa09b2180378","signature":"20b8061b5eeaf26c9f1ae532e01004490f6e397fda4ccc4a30f3eb8c2956e13a"},{"version":"08dcf801fec72dc7751f21313cdc81f3a08c139d3c2f9e9bb4f4a77f510e7a75","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"629cae86a432e69e8e911a36fee72803dae784da685593e42968babe3b84298b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","39c18ea70fa2449cb00c97e73b3b8f96983e423678cfede0fbcb9319cbefa67c","a6f0218395ecb8e0d736e0a19524223ab7a8a7ed217c4a99c165df2532e1beec","287bb1a9e0f935417f8e753687737d3c90c35a56d07448773fc3ec8f0f97a6be","629766229f541d92210f30a92b6038568ec165fab14b7ee53bdf13667da37ca3","29193c018378ca9c8033eaa974c02c1f503e8fcd8a2bf406057c53f7d3fa17a8",{"version":"4f9362850bb427525ba05c0e861dae06d9918bd16ccb38d504cb7294f69e8496","affectsGlobalScope":true},{"version":"82fcf338bc21711d93d65f981a7182f9942d3ac1f268c4480537c9b62c89d10d","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","aad5ffa61406b8e19524738fcf0e6fda8b3485bba98626268fdf252d1b2b630a","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"352fc8497a30bc806d7defa0043d85802e5f35a7688731ee9a21456f5cb32a94","affectsGlobalScope":true},"5b9ecf7da4d71cf3832dbb8336150fa924631811f488ad4690c2dfec2b4fb1d7","951c85f75aac041dddbedfedf565886a7b494e29ec1532e2a9b4a6180560b50e","f463d61cf39c3a6a5f96cdf7adfdb72a0b1d663f7b5d5b6dd042adba835430c2","f7a9cb83c8fbc081a8b605880d191e0d0527cde2c1b2b2b623beca8f0203a2cd","43cdd474c5aa3340da4816bb8f1ae7f3b1bcf9e70d997afc36a0f2c432378c84","23790f2da8d5370068bf8ba250786babee91f619ba9f8e067957c7166c824432","9226af9c56e77e2de484e3778a33a53a1dfb11ead282a7bdc55c2ffd84136837","963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33",{"version":"3e947c8dc536e569ceb62a7cb0255e4866fd54dd5d35d21e49c7e755f5c134a6","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","5774751340e987a6a9e4a5dcc03ff68a6515adc2b91423e1af2f660fc8f30e81","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","86889bc3e5323b1e92f5d23d41395ccee3dc91c37b5a5dbf115ea40fc13edd28","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a",{"version":"86cc8969b76067ccf25e02c62b7df6ccdb419481fbce594b5ae9da21e9015e39","affectsGlobalScope":true},"b92ae8263cac4e5a79f55fe6cb63c030b096679b98f603fbc13963c30ab7da5e","4e9d375d05a75efefcdae0a6a7be76861b5c96683acd31d1c8b120f60c0f6194","2a856615ecd0af49997dfbb38cf94fd787d529062a2e96ce26b84432e61d785d","0b6a0b628776a3e3a4aeeba090438a26e7ffa15373ce658452c78c1f2254665d","5764c1db026d0f1070ff009879d8f90dec70cebc3d1b27ca20f7beeac2afcae2","62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","77b89017a4f1a1e5497efbbb0b742506b6c5c725d7d6855e793a12a97c7ace61","656424ca784760c679bf2677d8aaf55d1cb8452cd0ac04bbe1c0f659f45f8c11","bed28de34a5dd2b08d47b584da338e5fba92de84ce8727dd153d9ec16bc0f2e4","6745e41d07e777a049bb25425bb1c6c1a9b437bc2568ca8eef03daa8e8913ac0","032667dd4a981d2b58dfaf5840f5a2ea76160ab18658fdd5abd0a0bba1565af1","7382cbf0d8a841a91d7ae2217897bd53bcb9584ca6fbe123771167a7f641c157","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[49,284,[292,318]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":2,"module":1,"noImplicitAny":false,"noUnusedLocals":true,"outDir":"./","skipLibCheck":true,"strict":true,"target":7},"fileIdsList":[[182,286,287,288,289,290],[182,268],[182,268,285],[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,70,71,182,269,270,271,272,273,274,275,276,277,278,279,280,281,282],[51,182,268],[182],[50,182],[182,189],[182,277],[182,189,273],[182,189,273,275],[170,182,189],[153,182,189],[51,182],[69,182],[52,182],[66,67,68,182],[66,182],[72,73,182,238,242,243,244,245,246,247,248,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267],[73,182,259],[72,182,259],[182,250],[73,182,251],[182,237,239,243,252],[182,249,251],[182,250,251,252,253],[72,182,237],[73,182,243,244],[73,182,243],[182,243],[72,73,182],[73,182,237],[72,182],[182,239,240,241],[72,73,182,243],[73,182,237,238,242],[182,262],[182,239],[182,268,283,284,294,295],[182,292,294,295,296,298,300,301,302,304,307,309,310,312],[182,268,292,305],[182,268,305],[182,297],[182,268,292,308],[182,268,291,292,294],[182,268,283,284,309],[182,268,283,284,311],[182,268,283,284,292,293],[182,268,283,284,306],[182,283,284,297],[182,283,284,297,299],[182,268,283,284,301],[182,268,283,284,303],[182,283,294],[182,283,302],[155,182,189,319],[182,189,321,322],[155,182,189],[152,155,182,189,329,330,331],[182,320,331,332,336],[182,189,338],[152,153,182,189,340],[182,345],[182,333],[182,334],[136,182],[139,182],[140,145,173,182],[141,152,153,160,170,181,182],[141,142,152,160,182],[143,182],[144,145,153,161,182],[145,170,178,182],[146,148,152,160,182],[147,182],[148,149,182],[152,182],[150,152,182],[152,153,154,170,181,182],[152,153,154,167,170,173,182],[182,186],[148,155,160,170,181,182],[152,153,155,156,160,170,178,181,182],[155,157,170,178,181,182],[136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188],[152,158,182],[159,181,182],[148,152,160,170,182],[161,182],[162,182],[139,163,182],[164,180,182,186],[165,182],[166,182],[152,167,168,182],[167,169,182,184],[140,152,170,171,172,173,182],[140,170,172,182],[170,171,182],[173,182],[174,182],[152,176,177,182],[176,177,182],[145,160,170,178,182],[179,182],[160,180,182],[140,155,166,181,182],[145,182],[170,182,183],[182,184],[182,185],[140,145,152,154,163,170,181,182,184,186],[170,182,187],[170,182,187,189],[153,170,182,189,328],[155,182,189,334,335],[182,189,327],[182,359],[182,189,358],[152,155,157,160,178,182,189,348,356],[152,170,182,189],[130,131,132,133,134,182,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,225,227,228,229,230,231,232,233,234],[182,235],[182,236],[135,170,182,190,191,212,213,214],[182,192,212],[182,211],[182,192,197,212,213,214],[135,182,192,212],[131,182,212,213],[182,192,211,212,213,214,216],[80,182],[80,81,82,182],[80,95,182],[80,86,182],[80,89,90,182],[80,98,182],[80,91,92,119,182],[80,102,182],[80,104,182],[86,87,121,128,129,182],[80,83,84,85,182],[80,88,92,120,182],[80,84,90,122,182],[80,84,90,182],[123,124,125,182],[80,84,119,126,127,182],[80,84,119,127,182],[90,93,94,96,97,99,100,101,103,105,106,107,108,109,110,111,112,113,114,115,117,118,182],[80,116,182],[131,182,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,212],[182,219,220,221],[153,170,182,189],[170,182,189,192,212],[182,189,219,220],[182,192,212,213],[131,132,182,219,220,221,225],[80,131,132,182,220,222,225],[132,182,212,225],[80,84,85,86,87,120,121,131,132,182,212,220,224,225],[131,132,170,182,189,212,213,214,215,219,220,221,223,225,226,227],[182,212,216,228],[131,132,170,182,189,212,214,215,216,219,220,221,223,225],[76,78,182],[75,78,182],[74,75,76,77,78,79,182],[76,77,182],[132,182,212,213,214,216,225,235],[182,212,213,214],[182,212,214],[131,182,212],[132,182,211,212,213,214,215,225],[131,132,133,134,182,211,213,225],[182,211,220],[80,182,211],[182,211,212,214],[131,182],[132,182,212,213,214,217,225],[268,283,294],[292,294,295,296,298,300,301,302,304,307,309,310,312],[268],[297],[268,294],[268,283],[283,297],[283,297,299]],"referencedMap":[[291,1],[289,2],[285,2],[286,3],[287,2],[288,2],[290,2],[283,4],[269,5],[60,6],[62,7],[63,6],[270,8],[61,6],[53,6],[54,6],[280,9],[279,9],[278,10],[277,6],[275,6],[276,11],[281,8],[282,12],[65,6],[64,6],[273,13],[271,6],[274,12],[55,14],[59,6],[71,6],[272,6],[70,15],[56,14],[58,16],[57,14],[51,7],[50,6],[52,6],[69,17],[66,6],[67,18],[68,6],[268,19],[261,20],[260,21],[251,22],[252,23],[253,24],[250,25],[249,6],[265,22],[264,26],[266,27],[247,28],[246,28],[244,29],[245,28],[255,30],[258,31],[254,30],[257,6],[248,30],[256,29],[267,6],[238,32],[241,33],[242,34],[262,6],[259,35],[243,36],[263,37],[240,38],[73,6],[72,6],[49,6],[296,39],[313,40],[311,41],[306,42],[299,43],[303,2],[314,6],[309,44],[292,6],[293,45],[297,6],[301,2],[315,6],[308,6],[305,6],[316,6],[295,6],[284,6],[310,46],[312,47],[294,48],[307,49],[298,50],[300,51],[302,52],[304,53],[317,54],[318,55],[320,56],[321,6],[322,6],[323,57],[324,6],[325,6],[319,58],[326,6],[327,6],[332,59],[337,60],[239,6],[339,61],[341,62],[342,6],[335,6],[343,6],[344,6],[346,63],[334,64],[333,65],[340,6],[347,6],[338,6],[348,8],[136,66],[137,66],[139,67],[140,68],[141,69],[142,70],[143,71],[144,72],[145,73],[146,74],[147,75],[148,76],[149,76],[151,77],[150,78],[152,77],[153,79],[154,80],[138,81],[188,6],[155,82],[156,83],[157,84],[189,85],[158,86],[159,87],[160,88],[161,89],[162,90],[163,91],[164,92],[165,93],[166,94],[167,95],[168,95],[169,96],[170,97],[172,98],[171,99],[173,100],[174,101],[175,6],[176,102],[177,103],[178,104],[179,105],[180,106],[181,107],[182,108],[183,109],[184,110],[185,111],[186,112],[187,113],[349,6],[350,6],[351,6],[352,6],[353,6],[354,114],[355,6],[356,6],[331,6],[330,6],[329,115],[328,6],[336,116],[357,117],[360,118],[359,119],[361,120],[358,12],[345,6],[362,8],[363,121],[235,122],[236,123],[237,124],[192,125],[205,126],[193,126],[135,127],[195,126],[196,126],[198,128],[199,126],[207,126],[200,126],[197,126],[203,126],[206,129],[208,126],[194,126],[209,126],[201,126],[202,126],[210,129],[204,126],[214,130],[131,6],[218,131],[93,132],[222,132],[81,6],[83,133],[94,132],[84,132],[82,6],[95,6],[96,134],[97,132],[87,135],[91,136],[89,6],[99,137],[88,6],[85,132],[120,138],[100,132],[101,132],[103,139],[90,132],[104,6],[105,140],[92,132],[106,132],[107,132],[108,132],[109,132],[110,132],[130,141],[111,132],[102,6],[86,142],[112,132],[121,143],[122,6],[123,144],[124,145],[125,145],[126,146],[128,147],[113,132],[127,132],[129,148],[98,6],[114,137],[115,137],[119,149],[116,6],[117,150],[118,132],[211,151],[226,152],[219,153],[190,154],[221,155],[191,156],[227,157],[223,158],[224,159],[225,160],[228,161],[230,162],[229,163],[77,164],[76,165],[74,6],[75,6],[80,166],[78,167],[79,6],[215,168],[133,169],[134,170],[132,171],[216,172],[212,173],[233,6],[231,174],[220,175],[232,6],[213,176],[217,177],[234,178],[46,6],[47,6],[8,6],[9,6],[13,6],[12,6],[2,6],[14,6],[15,6],[16,6],[17,6],[18,6],[19,6],[20,6],[21,6],[3,6],[4,6],[25,6],[22,6],[23,6],[24,6],[26,6],[27,6],[28,6],[5,6],[29,6],[30,6],[31,6],[32,6],[6,6],[36,6],[33,6],[34,6],[35,6],[37,6],[7,6],[38,6],[48,6],[43,6],[44,6],[39,6],[40,6],[41,6],[42,6],[1,6],[45,6],[11,6],[10,6]],"exportedModulesMap":[[291,1],[289,2],[285,2],[286,3],[287,2],[288,2],[290,2],[283,4],[269,5],[60,6],[62,7],[63,6],[270,8],[61,6],[53,6],[54,6],[280,9],[279,9],[278,10],[277,6],[275,6],[276,11],[281,8],[282,12],[65,6],[64,6],[273,13],[271,6],[274,12],[55,14],[59,6],[71,6],[272,6],[70,15],[56,14],[58,16],[57,14],[51,7],[50,6],[52,6],[69,17],[66,6],[67,18],[68,6],[268,19],[261,20],[260,21],[251,22],[252,23],[253,24],[250,25],[249,6],[265,22],[264,26],[266,27],[247,28],[246,28],[244,29],[245,28],[255,30],[258,31],[254,30],[257,6],[248,30],[256,29],[267,6],[238,32],[241,33],[242,34],[262,6],[259,35],[243,36],[263,37],[240,38],[73,6],[72,6],[296,179],[313,180],[311,181],[306,181],[299,182],[303,181],[314,6],[309,181],[293,183],[301,181],[310,184],[312,184],[294,184],[307,184],[298,185],[300,186],[302,184],[304,184],[320,56],[321,6],[322,6],[323,57],[324,6],[325,6],[319,58],[326,6],[327,6],[332,59],[337,60],[239,6],[339,61],[341,62],[342,6],[335,6],[343,6],[344,6],[346,63],[334,64],[333,65],[340,6],[347,6],[338,6],[348,8],[136,66],[137,66],[139,67],[140,68],[141,69],[142,70],[143,71],[144,72],[145,73],[146,74],[147,75],[148,76],[149,76],[151,77],[150,78],[152,77],[153,79],[154,80],[138,81],[188,6],[155,82],[156,83],[157,84],[189,85],[158,86],[159,87],[160,88],[161,89],[162,90],[163,91],[164,92],[165,93],[166,94],[167,95],[168,95],[169,96],[170,97],[172,98],[171,99],[173,100],[174,101],[175,6],[176,102],[177,103],[178,104],[179,105],[180,106],[181,107],[182,108],[183,109],[184,110],[185,111],[186,112],[187,113],[349,6],[350,6],[351,6],[352,6],[353,6],[354,114],[355,6],[356,6],[331,6],[330,6],[329,115],[328,6],[336,116],[357,117],[360,118],[359,119],[361,120],[358,12],[345,6],[362,8],[363,121],[235,122],[236,123],[237,124],[192,125],[205,126],[193,126],[135,127],[195,126],[196,126],[198,128],[199,126],[207,126],[200,126],[197,126],[203,126],[206,129],[208,126],[194,126],[209,126],[201,126],[202,126],[210,129],[204,126],[214,130],[131,6],[218,131],[93,132],[222,132],[81,6],[83,133],[94,132],[84,132],[82,6],[95,6],[96,134],[97,132],[87,135],[91,136],[89,6],[99,137],[88,6],[85,132],[120,138],[100,132],[101,132],[103,139],[90,132],[104,6],[105,140],[92,132],[106,132],[107,132],[108,132],[109,132],[110,132],[130,141],[111,132],[102,6],[86,142],[112,132],[121,143],[122,6],[123,144],[124,145],[125,145],[126,146],[128,147],[113,132],[127,132],[129,148],[98,6],[114,137],[115,137],[119,149],[116,6],[117,150],[118,132],[211,151],[226,152],[219,153],[190,154],[221,155],[191,156],[227,157],[223,158],[224,159],[225,160],[228,161],[230,162],[229,163],[77,164],[76,165],[74,6],[75,6],[80,166],[78,167],[79,6],[215,168],[133,169],[134,170],[132,171],[216,172],[212,173],[233,6],[231,174],[220,175],[232,6],[213,176],[217,177],[234,178],[46,6],[47,6],[8,6],[9,6],[13,6],[12,6],[2,6],[14,6],[15,6],[16,6],[17,6],[18,6],[19,6],[20,6],[21,6],[3,6],[4,6],[25,6],[22,6],[23,6],[24,6],[26,6],[27,6],[28,6],[5,6],[29,6],[30,6],[31,6],[32,6],[6,6],[36,6],[33,6],[34,6],[35,6],[37,6],[7,6],[38,6],[48,6],[43,6],[44,6],[39,6],[40,6],[41,6],[42,6],[1,6],[45,6],[11,6],[10,6]],"semanticDiagnosticsPerFile":[291,289,285,286,287,288,290,283,269,60,62,63,270,61,53,54,280,279,278,277,275,276,281,282,65,64,273,271,274,55,59,71,272,70,56,58,57,51,50,52,69,66,67,68,268,261,260,251,252,253,250,249,265,264,266,247,246,244,245,255,258,254,257,248,256,267,238,241,242,262,259,243,263,240,73,72,49,296,313,311,306,299,303,314,309,292,293,297,301,315,308,305,316,295,284,310,312,294,307,298,300,302,304,317,318,320,321,322,323,324,325,319,326,327,332,337,239,339,341,342,335,343,344,346,334,333,340,347,338,348,136,137,139,140,141,142,143,144,145,146,147,148,149,151,150,152,153,154,138,188,155,156,157,189,158,159,160,161,162,163,164,165,166,167,168,169,170,172,171,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,349,350,351,352,353,354,355,356,331,330,329,328,336,357,360,359,361,358,345,362,363,235,236,237,192,205,193,135,195,196,198,199,207,200,197,203,206,208,194,209,201,202,210,204,214,131,218,93,222,81,83,94,84,82,95,96,97,87,91,89,99,88,85,120,100,101,103,90,104,105,92,106,107,108,109,110,130,111,102,86,112,121,122,123,124,125,126,128,113,127,129,98,114,115,119,116,117,118,211,226,219,190,221,191,227,223,224,225,228,230,229,77,76,74,75,80,78,79,215,133,134,132,216,212,233,231,220,232,213,217,234,46,47,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,48,43,44,39,40,41,42,1,45,11,10],"latestChangedDtsFile":"./src/workers/wkt-worker.d.ts"},"version":"5.1.6"}
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2020.full.d.ts","../src/bundle.ts","../../loader-utils/dist/types.d.ts","../../loader-utils/dist/loader-types.d.ts","../../loader-utils/dist/writer-types.d.ts","../../loader-utils/dist/lib/env-utils/assert.d.ts","../../loader-utils/dist/lib/env-utils/globals.d.ts","../../loader-utils/dist/lib/option-utils/merge-loader-options.d.ts","../../loader-utils/dist/lib/worker-loader-utils/create-loader-worker.d.ts","../../loader-utils/dist/lib/worker-loader-utils/parse-with-worker.d.ts","../../loader-utils/dist/lib/worker-loader-utils/encode-with-worker.d.ts","../../loader-utils/dist/lib/parser-utils/parse-json.d.ts","../../loader-utils/dist/lib/binary-utils/array-buffer-utils.d.ts","../../loader-utils/dist/lib/binary-utils/memory-copy-utils.d.ts","../../loader-utils/dist/lib/binary-utils/dataview-copy-utils.d.ts","../../loader-utils/dist/lib/binary-utils/get-first-characters.d.ts","../../loader-utils/dist/lib/iterators/text-iterators.d.ts","../../loader-utils/dist/lib/iterators/async-iteration.d.ts","../../loader-utils/node_modules/@probe.gl/stats/dist/lib/stat.d.ts","../../loader-utils/node_modules/@probe.gl/stats/dist/lib/stats.d.ts","../../loader-utils/node_modules/@probe.gl/stats/dist/utils/hi-res-timestamp.d.ts","../../loader-utils/node_modules/@probe.gl/stats/dist/index.d.ts","../../loader-utils/dist/lib/request-utils/request-scheduler.d.ts","../../loader-utils/dist/lib/path-utils/file-aliases.d.ts","../../schema/dist/types/types.d.ts","../../schema/dist/types/schema.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/constants.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/encoding.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/byte-buffer.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/builder.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/types.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/utils.d.ts","../../../node_modules/apache-arrow/node_modules/flatbuffers/js/flatbuffers.d.ts","../../../node_modules/apache-arrow/fb/body-compression-method.d.ts","../../../node_modules/apache-arrow/fb/compression-type.d.ts","../../../node_modules/apache-arrow/fb/body-compression.d.ts","../../../node_modules/apache-arrow/fb/buffer.d.ts","../../../node_modules/apache-arrow/fb/field-node.d.ts","../../../node_modules/apache-arrow/fb/record-batch.d.ts","../../../node_modules/apache-arrow/fb/dictionary-batch.d.ts","../../../node_modules/apache-arrow/fb/endianness.d.ts","../../../node_modules/apache-arrow/fb/dictionary-kind.d.ts","../../../node_modules/apache-arrow/fb/int.d.ts","../../../node_modules/apache-arrow/fb/dictionary-encoding.d.ts","../../../node_modules/apache-arrow/fb/key-value.d.ts","../../../node_modules/apache-arrow/fb/binary.d.ts","../../../node_modules/apache-arrow/fb/bool.d.ts","../../../node_modules/apache-arrow/fb/date-unit.d.ts","../../../node_modules/apache-arrow/fb/date.d.ts","../../../node_modules/apache-arrow/fb/decimal.d.ts","../../../node_modules/apache-arrow/fb/time-unit.d.ts","../../../node_modules/apache-arrow/fb/duration.d.ts","../../../node_modules/apache-arrow/fb/fixed-size-binary.d.ts","../../../node_modules/apache-arrow/fb/fixed-size-list.d.ts","../../../node_modules/apache-arrow/fb/precision.d.ts","../../../node_modules/apache-arrow/fb/floating-point.d.ts","../../../node_modules/apache-arrow/fb/interval-unit.d.ts","../../../node_modules/apache-arrow/fb/interval.d.ts","../../../node_modules/apache-arrow/fb/large-binary.d.ts","../../../node_modules/apache-arrow/fb/large-list.d.ts","../../../node_modules/apache-arrow/fb/large-utf8.d.ts","../../../node_modules/apache-arrow/fb/list.d.ts","../../../node_modules/apache-arrow/fb/map.d.ts","../../../node_modules/apache-arrow/fb/null.d.ts","../../../node_modules/apache-arrow/fb/run-end-encoded.d.ts","../../../node_modules/apache-arrow/fb/struct-.d.ts","../../../node_modules/apache-arrow/fb/time.d.ts","../../../node_modules/apache-arrow/fb/timestamp.d.ts","../../../node_modules/apache-arrow/fb/union-mode.d.ts","../../../node_modules/apache-arrow/fb/union.d.ts","../../../node_modules/apache-arrow/fb/utf8.d.ts","../../../node_modules/apache-arrow/fb/type.d.ts","../../../node_modules/apache-arrow/fb/field.d.ts","../../../node_modules/apache-arrow/fb/schema.d.ts","../../../node_modules/apache-arrow/fb/sparse-matrix-compressed-axis.d.ts","../../../node_modules/apache-arrow/fb/sparse-matrix-index-csx.d.ts","../../../node_modules/apache-arrow/fb/sparse-tensor-index-coo.d.ts","../../../node_modules/apache-arrow/fb/sparse-tensor-index-csf.d.ts","../../../node_modules/apache-arrow/fb/sparse-tensor-index.d.ts","../../../node_modules/apache-arrow/fb/tensor-dim.d.ts","../../../node_modules/apache-arrow/fb/sparse-tensor.d.ts","../../../node_modules/apache-arrow/fb/tensor.d.ts","../../../node_modules/apache-arrow/fb/message-header.d.ts","../../../node_modules/apache-arrow/enum.d.ts","../../../node_modules/apache-arrow/schema.d.ts","../../../node_modules/apache-arrow/row/map.d.ts","../../../node_modules/apache-arrow/row/struct.d.ts","../../../node_modules/apache-arrow/builder/buffer.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/apache-arrow/io/node/builder.d.ts","../../../node_modules/apache-arrow/io/whatwg/builder.d.ts","../../../node_modules/apache-arrow/builder.d.ts","../../../node_modules/apache-arrow/builder/bool.d.ts","../../../node_modules/apache-arrow/builder/null.d.ts","../../../node_modules/apache-arrow/builder/date.d.ts","../../../node_modules/apache-arrow/builder/decimal.d.ts","../../../node_modules/apache-arrow/builder/int.d.ts","../../../node_modules/apache-arrow/builder/dictionary.d.ts","../../../node_modules/apache-arrow/builder/fixedsizebinary.d.ts","../../../node_modules/apache-arrow/builder/float.d.ts","../../../node_modules/apache-arrow/builder/time.d.ts","../../../node_modules/apache-arrow/builder/timestamp.d.ts","../../../node_modules/apache-arrow/builder/interval.d.ts","../../../node_modules/apache-arrow/builder/utf8.d.ts","../../../node_modules/apache-arrow/builder/binary.d.ts","../../../node_modules/apache-arrow/builder/list.d.ts","../../../node_modules/apache-arrow/builder/fixedsizelist.d.ts","../../../node_modules/apache-arrow/builder/map.d.ts","../../../node_modules/apache-arrow/builder/struct.d.ts","../../../node_modules/apache-arrow/builder/union.d.ts","../../../node_modules/apache-arrow/interfaces.d.ts","../../../node_modules/apache-arrow/type.d.ts","../../../node_modules/apache-arrow/vector.d.ts","../../../node_modules/apache-arrow/data.d.ts","../../../node_modules/apache-arrow/recordbatch.d.ts","../../../node_modules/apache-arrow/table.d.ts","../../../node_modules/apache-arrow/visitor.d.ts","../../../node_modules/apache-arrow/factories.d.ts","../../../node_modules/apache-arrow/io/interfaces.d.ts","../../../node_modules/apache-arrow/util/buffer.d.ts","../../../node_modules/apache-arrow/io/stream.d.ts","../../../node_modules/apache-arrow/fb/block.d.ts","../../../node_modules/apache-arrow/ipc/metadata/file.d.ts","../../../node_modules/apache-arrow/ipc/metadata/json.d.ts","../../../node_modules/apache-arrow/ipc/metadata/message.d.ts","../../../node_modules/apache-arrow/io/file.d.ts","../../../node_modules/apache-arrow/ipc/message.d.ts","../../../node_modules/apache-arrow/ipc/reader.d.ts","../../../node_modules/apache-arrow/ipc/writer.d.ts","../../../node_modules/apache-arrow/ipc/serialization.d.ts","../../../node_modules/apache-arrow/util/bn.d.ts","../../../node_modules/apache-arrow/util/int.d.ts","../../../node_modules/apache-arrow/util/bit.d.ts","../../../node_modules/apache-arrow/visitor/typecomparator.d.ts","../../../node_modules/apache-arrow/Arrow.d.ts","../../../node_modules/apache-arrow/Arrow.dom.d.ts","../../../node_modules/apache-arrow/Arrow.node.d.ts","../../schema/dist/types/batch.d.ts","../../../node_modules/@types/geojson/index.d.ts","../../schema/dist/types/flat-geometries.d.ts","../../schema/dist/types/binary-geometries.d.ts","../../schema/dist/types/category-gis.d.ts","../../schema/dist/types/category-table.d.ts","../../schema/dist/lib/table/batches/table-batch-aggregator.d.ts","../../schema/dist/lib/table/batches/table-batch-builder.d.ts","../../schema/dist/lib/table/batches/row-table-batch-aggregator.d.ts","../../schema/dist/lib/table/batches/columnar-table-batch-aggregator.d.ts","../../schema/dist/lib/table/simple-table/table-accessors.d.ts","../../schema/dist/lib/table/arrow-api/enum.d.ts","../../schema/dist/lib/table/arrow-api/arrow-like-type.d.ts","../../schema/dist/lib/table/arrow-api/arrow-like-field.d.ts","../../schema/dist/lib/table/arrow-api/arrow-like-schema.d.ts","../../schema/dist/lib/table/arrow-api/arrow-like-table.d.ts","../../schema/dist/lib/table/simple-table/make-table.d.ts","../../schema/dist/lib/table/simple-table/convert-table.d.ts","../../schema/dist/lib/table/simple-table/table-schema.d.ts","../../schema/dist/lib/table/simple-table/row-utils.d.ts","../../schema/dist/lib/table/simple-table/data-type.d.ts","../../schema/dist/types/category-mesh.d.ts","../../schema/dist/lib/mesh/mesh-utils.d.ts","../../schema/dist/lib/mesh/deduce-mesh-schema.d.ts","../../schema/dist/types/category-image.d.ts","../../schema/dist/types/category-texture.d.ts","../../schema/dist/lib/table/arrow-api/index.d.ts","../../schema/dist/lib/table/arrow-api/get-type-info.d.ts","../../schema/dist/lib/table/arrow/arrow-type-utils.d.ts","../../schema/dist/lib/utils/async-queue.d.ts","../../schema/dist/index.d.ts","../../loader-utils/dist/json-loader.d.ts","../../loader-utils/dist/lib/binary-utils/memory-conversion-utils.d.ts","../../loader-utils/dist/lib/node/promisify.d.ts","../../loader-utils/dist/lib/path-utils/path.d.ts","../../loader-utils/dist/lib/node/fs.d.ts","../../loader-utils/dist/lib/node/stream.d.ts","../../loader-utils/dist/lib/filesystems/filesystem.d.ts","../../loader-utils/dist/lib/filesystems/node-filesystem.d.ts","../../loader-utils/dist/lib/file-provider/file-provider.d.ts","../../loader-utils/dist/lib/file-provider/file-handle.d.ts","../../loader-utils/dist/lib/file-provider/file-handle-file.d.ts","../../loader-utils/dist/lib/file-provider/data-view-file.d.ts","../../loader-utils/dist/lib/filesystems/readable-file.d.ts","../../loader-utils/dist/lib/filesystems/writable-file.d.ts","../../loader-utils/dist/index.d.ts","../src/lib/utils/version.ts","../../gis/dist/lib/flat-geojson-to-binary-types.d.ts","../../gis/dist/lib/flat-geojson-to-binary.d.ts","../../gis/dist/lib/geojson-to-binary.d.ts","../../gis/dist/lib/geojson-to-flat-geojson.d.ts","../../gis/dist/lib/binary-to-geojson.d.ts","../../gis/dist/lib/transform.d.ts","../../gis/dist/index.d.ts","../src/lib/parse-wkb-header.ts","../src/lib/parse-wkb.ts","../src/wkb-loader.ts","../src/lib/utils/hex-transcoder.ts","../src/hex-wkb-loader.ts","../src/lib/parse-wkt-crs.ts","../src/wkt-crs-loader.ts","../src/lib/encode-wkt-crs.ts","../src/wkt-crs-writer.ts","../src/lib/parse-wkt.ts","../src/wkt-loader.ts","../src/lib/encode-wkt.ts","../src/wkt-writer.ts","../src/lib/utils/binary-writer.ts","../src/lib/encode-wkb.ts","../src/wkb-writer.ts","../src/lib/utils/binary-reader.ts","../src/lib/parse-twkb.ts","../src/twkb-loader.ts","../src/lib/encode-twkb.ts","../src/twkb-writer.ts","../src/index.ts","../src/lib/parse-hex-wkb.ts","../src/lib/utils/base64-encoder.ts","../src/lib/utils/hex-encoder.ts","../src/workers/wkb-worker.ts","../src/workers/wkt-worker.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/brotli/compress.d.ts","../../../node_modules/@types/brotli/decompress.d.ts","../../../node_modules/@types/brotli/index.d.ts","../../../node_modules/@types/command-line-args/index.d.ts","../../../node_modules/@types/command-line-usage/index.d.ts","../../../node_modules/@types/crypto-js/index.d.ts","../../../node_modules/@types/emscripten/index.d.ts","../../../node_modules/@types/send/node_modules/@types/mime/index.d.ts","../../../node_modules/@types/send/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/mime/Mime.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/http-errors/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/ndarray/index.d.ts","../../../node_modules/@types/get-pixels/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/hammerjs/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node-int64/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/offscreencanvas/index.d.ts","../../../node_modules/@types/pad-left/index.d.ts","../../../node_modules/@types/pako/index.d.ts","../../../node_modules/@types/pbf/index.d.ts","../../../node_modules/@types/pngjs/index.d.ts","../../../node_modules/@types/proj4/index.d.ts","../../../node_modules/@types/q/index.d.ts","../../../node_modules/@types/sql.js/index.d.ts","../../../node_modules/@types/through/index.d.ts","../../../node_modules/@types/tape/index.d.ts","../../../node_modules/@types/tape-promise/index.d.ts","../../../node_modules/@types/thrift/index.d.ts","../../../node_modules/@types/varint/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"322cc0ca9c311414642c0d7ef3b57beedbac198ca074e3e109a4be4c366dcb81",{"version":"9d3c44c5662654459def646b30ff930d4198e5b77d57cf1d21d5de5f7b30dc07","signature":"1160f1801f74994542376d565e986ec3e49c83b662019fe09e2b5107e75977fb","affectsGlobalScope":true},"33e032e02fe1909039aba738d93c54a3552ee2347f47c811c0decd0b8f5b2f3e","b5d49a89aa67cb571b25e167d3902482dcdd94e55743a28bae2afacee7a89e37","354ada2e04452d05bc4aa6f471ed6f917772c954e8a325d98892c74ceed21109","27939d01f8d6be041c1d5c1816b428b3e8229829233e073f7b45b6af3b660ebe","7c4dd44256edda6b1e653ade809a4834ea1672557c32740e7018a89082e67f98","50cccf12df778f241ed7bc0924507debdc3ea0aab99bd8567f4f62ec66ce1e71","16945fb857d0467c9990ab40c66ee4b548b9aac85fdb1dee0a51d7dc93962c57","394462987ac0b4c19b7c59b4eb984f9e5db86af93a96e752918d945197e22982","d20beb3b34cb36fa1a97972df3321ec8e4462a842544c81877f2150bc9c2ddf9","e0f7c61f78b9d64f5c05de758086d992bea83dbdf0c6cace9c5df02534cd0bb2","8312a4d6aa569fc57d9f564678e5817483feb50fedebe84e50cc9c1cf0c33459","65e0b1ad130fc07161f051c2a5e5c3c4a5d3fc9ae70806b87aa3d91e21f25fb4","2ad4364f8229359d8d87035a32a6a4adf4ae17ae417c3020e5051177856f0d6c","d1c7ce4be3ae34ad0b2ea4a685f2521701a36382808d049ac5e2d259025479ed","ab844b5925c28e479fc12a62d863d475404134f4d5c55f9287666ea94aa30d1f","2da34af5c8cf099add4be5774fd504f802e6e0711820b0cddd76da9182c90f19","8432aee1c4d9e7490d0276956afb4945285aa54ca0ef2ea33c94a1362ad40656","289c93fe295277a33119aaee688863eee6d7ec57111f428a12f77ab6af9790a9","476cc782a34c53072c7b585184fab1da9cc381337ce8c7562e2d50d1a16ef5ad","6dd764e36d98ddf0b22e042d5a693a3e7664accff7029a75492e061d763febed","8b789c97d89d9a45ac1005dd50350aecc2c4e9d9ec56efacc3edf41171324ef4","1d6736f895b28f9db177573a41c4b33566a0764b149f0e0dc92116786ae375a2","49e837668d4c989f90c458286cef8ba31dff74baa3101b7246cb4bb0d1401cfe","4407fb1764e98192ae81b9d86e0bda41402fa9dcdc5993feb5f1687fcd4a3d67","05adb45e3dde250b6ae4a50b9dd26457489cbe6bb5de36468aea83df2324e3b8","b71da9f22a46322f03f5900108c7bc23fe598e2dcd3955d94df0bf9b03adc9ef","15d54b1dc36761e843f740e13d896928b5bcb76c9cca250faded032e552ff447","791b89410fb8a65d6993c0bc12abc6a404ffaf21609d752b00228116b2ee1897","a6ce2450e3b08abb086b77e0408b4717322b370715b77f0b9f185619e2523b8c","5bcefd704c479b68d8050f61beeb84911739d7db5ce22b50c2c8396a7f8a973e","1bf22eff6631acc2d999b72cb87f26781fe2d449000beab70e5becba665237aa","cb31fbd38e527e01368c338daa15c472c9dacb72a0a6e483d7f338d2a2b88d92","9a056e9b9acc76b8320976d9fe6cd87c53bc1f4e2919613bcceebcff6b539cfa","a8f09ab4bfbaf32009c5ceb09f267c45d3e9fad63a9640c3dfc824480522eb1c","8d6da1d6d75e21fc322882a7a6cce39c4a85279582c0652fad76ae658f1fa4d8","2dcb4881af7d254e20cef0d36e33ef63025cea48ac9b739e310ac8dfb6a4d4d1","0e8c1b7ce40dab54106b02db1b529a9d1d34b0bec61bdd3af9c27dfc5041b8d5","fdd8e8b914f1d8c32363f45e37f9577be9f65e9171833a4c8c117afde983df3b","9fa2d338f2c6e4fb5a2cf20bc83f24102f177c9996a9550ab9cb295afc443322","b6b354bd57b44849015d119134a2adf6136dd459fb38f3625fbb35c844343362","831e08bc1e0e0fed9f34180a42bcffa15437283b3a90c453f98fd82f639784c0","576d3ac930288e7fe44873f24dd8ba11873ab8c536c5f67464e9acdbdbf5f0be","6210058f2ce3e9052681f3d2df475d6bda1cee4584dd3a5ef1ef0e60959522d7","7a04ce0e85d6db683f63ec9f2699fac3e2d9fdd6a9313dda42e25761a3c83a2c","2b9c4aed45c33a93dc6de1e5894094090363aaee045921a0e6ef245657c5315d","b9c7f144f9051934bba76cb051d806377a0676ed488ae5764daa9bf7a198fbad","dd36b72841bc2a5edbe39640abc5d0175f06b9de32d6b767615c62c460330382","de06c3051539ddd64044947bf5a804005e98b09613699b19de1c09ef8e8df95f","681c8a82369365bef1360957b467844e8bb3e9626df2162d904c8bbfc92863f8","8585b7a7cc1cb48171fd9e168ca0126a921189c6643cc4dd5dac43de6d3b61e4","7eb739af12059b8c368641641776937254b381ba298e43820b78696d4e12d3c9","f85ef2b6b6243d398b2146de3186f12c825a18295d3913aee1d7ad237856c6c3","e83218020bb0bc9a527cf10bca9f3afe489900c60dee03e8398fe135054c81ae","d30f3ae4c835c4006e1676170181461e7e97b4e1d2fa0c96a4d0a355cd97fd8f","989b02e98599537eccb0e89c3c737b75159fc64299bcee5ecf495535a4096efd","b0cfe92f5a41d98256df17702e2e30afbcbc5d33fcde330b20dcac2df26b393e","7de22e2447797056c5bbf57153d8e7d7106bab19b2bb8111cf9c9776935b81e9","74ecda5bfdd35b1b365b3069acb0224303c20b458e92dbacf6954eef4d9f30db","7e1862fcb5a27f449515e7ad569afb738896183889a3dfbf09f125d2ad1effaa","c3bc001ab25d65e716b576b0c607d413802122e85fedf847629227fdbf73298e","e0644b2e6e5f5709fd5b0377e801ae12fbd1a9d612312ed86b823159421e29fd","1dfa53faf0395d8e6714329b001659009171d5268f7231ad05fefeb19b7dd0a2","baf281afcc69097878a9f76190ec1139cdcb6d39adb1e0685644789fe99769ed","6d0e0c26cd26694ef8f4776443fdd846add0a327244424b5be1eb3320a770486","77df8e8553d35e13728f6d0a37ca982520046645694ec1edab9df2df4e905dc2","387575cfe4ed66a1e3b066d2b6923c41be68d39905d62a8fa00e95cee9d4e719","03c9cee66774b18d3c20119b5fd25b3a94f95757aa82cb5bfe9cf7cb91400bd9","0c7aadf8379300a1dba35b087663c682f440aa5923ea96a8ff9ff483b891766c","70f8da676faa53028982803fb3b389b98119fb0b41df9020a3130b008ac6dc74","2409017257471ec5e3bf053cb4a0e0a5f3a7f11901a247118c1654980d7e1fe7","8b729a1d9b4f457b23b790a07111742b5c2714b614da768550e0a7309350e438","07ae8276b1ded724db7342f1271258bdf7d897ad47affecde328f89543fbef71","959e21dddaa3d50c7a9573c033371f8a8eb75e1da2e4f0d2ffc2e44862a7939f","5c5150c7774dcedeaf599b1372b8158b3f8a0e665d602a35e34470822da59f59","fbe77f3f07a47c30835cb7b88d1aeaf605052884b819f0669977a9977bbd4a8f","07cf01ae7f286d5c1390bec1fc2cad285c2cd96b3778b61eddfadd2305786040","d07829c9a6e7288abc6d1df2d0e3ffd31a2418b38e7bf3d374437042844ed17f","7299ae6e1cd70af673d26872a2c7616ea6fa287021669473bdd7842c94094f61","820567b6f3633584ecd3e57c8cc192a6a18f2803edfe730fd1531d9cb6fed891","2ae462dea06b9d0a202c1c034ae686d225169038c33242052f4edf93db00b254","5ffe14c99d9130074d6bbc1edeabe4b4ef9168a05986ac7aff84ac5735c4d77b","e5fdfb44e69cc7ddaf28db39288c24b1116f33539aee0b0fc7b7a436c73cb727","980826c7be8addf3ca7bb0c238d26a682442dfbe0abe8103e63fbba13b942a2c","7f9371e6554e4e48793a31a353d00fa92dd92a0b8fa8ae00e480036e3a4d2776","fdcd57d2575b4e00c4c92b1a2fa15c791365aa763c4d4c901c3f3a362acd27d5","f59156c06f6c0cdbffd04ca6d99b093ba6deceffa921e68e9aebc8f49cb6ec4e","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"f749812878fecfa53cfc13b36e5d35086fb6377983a9df44175da83ccc23af1f","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"80473bd0dd90ca1e166514c2dfead9d5803f9c51418864ca35abbeec6e6847e1","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","3bd1b21f21d18995315d232c5c7e868651e109396f3ca48fa8ab15f57a20d911","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","1422cd9e705adcc09088fda85a900c2b70e3ad36ea85846f68bd1a884cdf4e2b","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true},"868831cab82b65dfe1d68180e898af1f2101e89ba9b754d1db6fb8cc2fac1921","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","73812e98e1ea55e4183fc4cd49c968ce9fb5affad9cd7503781f58160ac830df","dd1f84835041fb21fbcb6d213290cfdb07fbd7551c5b9340db3f5a8906d403c9","d1cf164102945309b279ff06bc2d121ac737e5487a2408914655f689ecc2be1f","fd2d5cc8041746b1cc71ab247163982c68b4fad0522b2a8f555368d57f1aa134","7f56883fceba869ca2e3bab049cf33272bac1a6937c235c652e0bbd9aef67624","af1f132f95a4a56d9304f8dfe68f116d2324b0368411574932c55cbe2fafa214","4e0a5de3811fcb44426b7f6bea3458d1c794591d0b4a715c51c3ad5d70f08ab4","68b735874e866f37d072bf674535a9f33965132ed9e1e4164a6fbc494d590604","9cec0cc895584e0e42d5c97c4a16ebd25a4fa60730c186edf0d28df0a5bc3702","94d41a754d3dda0f2517d49d181f1ba1d812b85e7bc2c822c40be945328edc33","842ffda229092b37ce0bc6748b09a38aaedc8490a69b3a10ec48ebf47baa3224","0449afb9de90d153878437b4004c6c5ce1e2f8f33e93ace383d387b683bac845","358999876ec96fa23597d354ed2fe6ae495d7c654e720ab3be349179133ed14d","8daf1c92a5955e61e5f82160f1d3db34beb4b60657a20ed91e450b32c4d09350","74e3a9065b290394d3ee7fb111bb4523d846663d898aa21bb76c8e9af979ffa2","e19b2a73885f75f29b2adcf1077c8dde7d69137af24c065b5ae7d7fa9bd3b820","0e720e8c78a3398bb6fe498919c4e21ce991c093a93235d7641891b65d0cad54","207e465a5c27537cd6c987739a0ccdd2bd0b13dc69511d11bfe979e19fcbbbbd","7008aa856c52cc0af5aa6c755abfba94dbc5e0a9dac3f9a985eb5ed52e6d535d","27551a71453552cdb14453753b2808fb405e6b1495f53b1de318953ac4ac73b5","0bb991b7c106b013ccd1b236bca252a34d8cfd2a61387409c1c407e8e07acada","0d510711f47a9337d385f7f53cb9bca5a59c245c40d5499ca6db75410a8a9436","865cad10c204bb43eafcdb1957ff4dd810c3caf290cbc18a67d5ca5d48a9b398","a8129d8de89732097a12fa202536d1f18d418be881e1fe2d40cb8883d141a3ea","02fad3c2d4fb705ad84df9e48beeb60b55e803913d504bdb7f37ec80f088d26f","fe47866cf57ede76bc97ddce7d33933ec21a4ffda175a10841e8fba45de7330f","ffe308a8dca440f45388b685bd7bee2a61d9d40624fcd0d6383844d90843bb68","3b7f2318cf351fcf9883a2c87ca85ce4dd3027dfbf6931fc034c9d3f23a2b6c3","8f9fdb0a9539cb998c359c0b991b6c687092306141076a7843d31b016adcd154","533ab639c90c7b6dc53c792dc20e8eecd08b87f7d8b7b9b76df681169a6c097d","f8f1b109894f78f146db848fe2989a01200b094b46677345ba90c0d9a218786a","dd01829a1232dc969066f1a1f478a25ee453a4e76f4e033080e279520b4460ba","d6bf6f2a8f1bf3fdc6ad05035672d8c38a04f72f39c5a55db9f1844689eec144","ec1e72c665317467b85ad4d27f5c106e6a888116f8757d883c8600e5f299192e","414e31d3a66f5c79cb49e82c3960a6983f1c031df82de1008bd255bf7aee58ae","d5d9c822987d673eabe9f058211e5d4015e38023e99738a63157fdf98ad17705","87b5a7dce771abfa0ea41eca3935c98f98148b9f563a62c582f0b456a63d951a","5d176ae3b4b1d9b4fd09dd2181d8822dbdfda2975efbe688289e7799e4acc3f1","9c43cd99639d7a77f9fdbfbc083dc5e074a2755be234dd19005bf01ab6ba1451","26f5cc01fbfc3491b155f37a4972de5df84e9f732ec20c3279992004a695b5aa","27496861e0db6ede90b48607bccd9ea9a18aeac897b463cfadead98abe105ccc","c9be5b0a527826562a6f4026b846647af717bb1366327b31e8eef98ea630b349","87fd703309f6f640f2a0a6ce79c0b14c02cbbfdbd3913d6af601be883ab8cf18","9bb021b1303e52cdc159ad2a254e449c68b9b5157ae26b9d918f19e2c8d94223","ce3e8890c187fdab18aa9c41aeadd0bb3fb13875dea5ea03e1d3c07e8446ee79","2d4ad114f5c2e8d7ca7cbcb94035fd4f45bfdb53dbbc82bd5be39431326ade39","1a90db26f4f4dee02b8bd2a7d470bb08162c644185630c5d71436592d9331536","b01d9cda99bd4a3363a6605f0e20de677fb6942eadd642991fb05a27abbba73e","933684c327bcf518415160c9279befae18e006f3650ad56f6745bc2e1916323f","a3b6c93a9838b8c94c6998e85646d6f2d07c20ecfe1e235dba62158b29451391","0fa5fb053d5976cfc833eac924af0e4d12bcc148a22d2bc05eb4a56dcdfe5c0d","63cf7392a0c1877d0b3d25648e16b32bddebe11f08ba474035b191c960cee0f2","202a0f6f9eff1d888a7a360df4f871a7de8aa7be9d2a14ab6b06943ff5fd46f2","333214d4175cfc3fc50ce50c59204c240a1d79e22adee2fef0f358d5ad5a9c8d","9ebdf3e2e4de01b5761d7863c61e0d7fa690637d92393ef31790a580c5e2f5a9","907a7f4a2f1e385ac53af2c6543acac6b9adab1ef1f827ef2663e4e7f1a98aa4","95f146c547caf2f02fbbd80dd1889aab37912af904d3f70e388ec4fd5c3946a4","f89f5c94352802530fb3801545d83ffa8ce8f9d6d996ce82aa24ddc019e97e47","63c917bca35d28e15479dc2b1b6e572881ba4ee2495390ea8eb91374e43745e3","31fa6e8452bef01da6aa5ad57e621e240c87bc3175ce2d2de552c85d710db746","3014b762a92a846346ae6f1e44164ec30ef6e41e9290fbde51802ae472c7379e","5329a5972c3953a19a37ce65ac539a47de96e36ff87e7eda90d68760e9ed2a5e","cce4acd479fa79d1662ce4fd3b1bc098b3b43d347e4f7c563ea9c5bb38182a8c","11a10cec3cf5b452d4d1729841296cfd7bd52f9834004f690c6f1fd41a3281fb","f21309ea38bcb63431532d4c139c235c1d5c5bc4ce15eb8c5cf2055b6b4f1d82","b7eee16c3d82d32ee916e9a663d0e6da58b6620ba094227a3b8bc51c88d83ba9","5283047c95c3895b54471261aada51dd47b4e7c6fb00d58f8a8b4034bd0be517","e29e9bad6fb8e05f3ce22b495ed839301dd8d057484fbd4f4c7218d360f941af","406134b920a681373ceba80dda358a015b0379d752b82b4a4430367196a6f4b5","99ee232ec78662869c921fee90c3809fec53e0e9fcdb0f225b63365a799bc38b","d1ada1111c2d8c6f20f940b0185fcd6f20562c0045d25433d5e2af37bee85fc1","7de5231dae45cbe3be9061a3da7ad310a7b0ee69a485926cb19e9914d3903659","7ca3915472a9f35c88a2661918ce99e1f791c3c04b4d5b25e03a0de99311ec6d","d9c400c03120bd59a0f8c61ca675a92d17679980ec3fd03c8fd566c2962f8cc8","8f1a5455aeff08cbc457dd6779a1ad32dfbb45f8e19075d2a99cbbbb8d519937","dd743ab18dd99672635b11dfc9c6a4ec2e586a018878b6b7d2b6456fabb1c493","6eeeac9646fd4c561c7aa730b9c4a1475eb31a13b0bb682a370cac5faa3feaba","9ee3277aa530d275d666fb69afbb6282c480e7aa5fdd3acede75afda7518abe0","8ad7bb10245defe33f41541c9ae6ba370ba1d691aa76c8bc6ed20834d2770926","417723bcd93ea77a71730d4326b2e9eb3f29ddcf3c217a307dd23fba6921f05b","b3b44303e3858ca1299d6d90165d9e9ef8f9a3a6a430edb31e3001fdc7dc0c68","0eb0ddc4a3111b0e63e4580d71017c73e63bc07e340ca0bcc6635573b3fdde7a","74607de7ffe82d5cea87b084f47bd689e5b32866a79434a2153377cf148dce66","1133c27ca4c37e4b52f6d9734aebfe3bae666447725f7f7a8c0541ae7f898b77","25cf1493daa6661a8a955338741a31c5423d519c197c3c554f4b73ad7e393027","de71c909039b1fedfb18cdd165c2e5cb6689ab64075727acb401d4911c6f2d0b","05fd608fccaf9a3022acf63655a168e09a8503261dffc00d17b83891c5d3d59d","cc452d7aee67d7c81a107da08d17d36bf5e89a13c3819dff8441deee3d4be005","7f9c8e3b58f1af8e935b9e072587cfc3a3a18f798dc11ffbecf9ac7bf194bf8f","5387fd5eb366c494db9bc2c5f1f5fa6c41d363757fd7231e4d8f38fdd0a4bf41","e62d41c984ae275aa3676b2ec6fee1d8ea5148f641a017f9bd6f8944f0b5686a","a814321be049bf59256278f68dce5bd5199c521394b3032b74fde53265c3d492","aedd3163c1b62854300b573c8245a7ac347fdb5ffc27c92a00bb6db9e1871e30","b525390947ad39dbfa3a9c5b19e549b9760e729e4e4d62aa72c7aa1ac5debada",{"version":"b04d54e7191d0b16656241a383ec0e35292a8af6b340b06dd23632c02f108ca9","signature":"3eff7a43fea60123da235222bfdfd875361e6232e4a02ac9ae67f716c3c1a0d3"},"4337e1b005a81abe7536b8fa9f971d53d07357229b4f31e367008876ea587cc2","c87fa2053254bec549fa04be5e89353975d2decf32738f14516a87e36f100dbe","0fcdcd8b98652bb0f672c2bfd53a783d958363e795a02f566d9d6a9b11d3dd98","cd3054a328975e366686057bdc39ea4f9ee8d7c032679d34177180a865e2a322","0eb2dadff717d4edf671104b3cba48ad91df98aa627ce8bab3b142da47740cca","7f5016fa3c6ad02555dd921056428900bfb927ab33993f8c73804b76626198ec","76e6dbd99e0677743c810f1afe976b4488f15a538802adaba3abd5558639e279",{"version":"bf9b88c7a08a7287878718c48e89818168596444a22d4fd0e6679a53fbc4bf2e","signature":"e02dc3974bcac2391d1e663f1e50db4a38bb432f0f6ed73d929419e45eb7e56b"},{"version":"4a9c7bccd09189faae8b45fe6b795ce3fbf39c0001a34269f8200983ef89b0d9","signature":"97012aebd28092de85a0e03a5ef6e1e8f5e4daf2c69139ede8d6d3a5c60c8903"},{"version":"fc31a1999ff51eff4b04810948211e661064a269cc1754b68519702e33416c6a","signature":"8c42e7ad27d1653e5c53c675b2cd705ce9a6ed1ef51ad1f9c8587b2e29a521ea"},{"version":"abaa4b88c6ca1acef412a67f1cf0205853043373a9a4775b455547ed3c200496","signature":"48b0c725db882369e8f09f98844682dc1be5ea89f736a717d3ff88d47a6afd37"},{"version":"0a29b348932862cc17565083cd23d8dd71a1e5a67d4700fd65492a83e3094ed2","signature":"0495419c78707a0d1240e2a681a83ee4d92cb07d95ff62e82cd770d6c8943621"},{"version":"d8ae96055f5fedbec64619a469a977868a19a6c2fa71b4acd5381b4395f36c67","signature":"b3039e730325c860454ab20881d3738e2b7ba3e354d9a97d6d6bb96cc7559741"},{"version":"e0580b05604d6ce4f276415c5068b2ac699bc0c86f18c33ba07be67d3e812108","signature":"676d0cd04ef7fb9af38f207d9422de5bec1cdea601976df63058615d1ea0c5b9"},{"version":"8077abe7525375732cd6ec1557619b2734b5427335ab0186d8467f8f1048bc93","signature":"fd09004f4266a81136bc42211f86f63afab891ad03aeab62bf5d0c9d8a821d2f"},{"version":"35948c3fee68295c4cf41a1954cf5c975822f4284e8589153887f2870ad3f307","signature":"d7d1e48bae7c95cdf9d7e121f565a532b134366628c724ffd12880ac50073935"},{"version":"8e3f3a7bfd90cdbf428bb029e235fa68ee72f3ba39f345ecbd2c51291a562e83","signature":"79efe9b0e5e7ebfab199596cef3c9399b440501a8930d3455a6945ff08bccd56"},{"version":"0d752dfe3523b7684873be1fec19ec8e7e90c32eec7028be42ef9e012e9a31d8","signature":"8fe9712157b2dc7d0ef584c2f8ddb4a53eb1f10d0c3243ec3b1e0574a55a1f07"},{"version":"b537783d4028b57f191a79bf1bd8bc561e1a54ede1f457e8adaeef57cc58e992","signature":"bdb903ff2a03ec608adecaa7f996c71f713a41aa38825cb763be6b18298e1850"},{"version":"82a487264b26a3248e272ae8ed7a252f2d04ccab6e70d34b521a3eec37f75d50","signature":"4b5fb59181afc586d6c39a3357faa9f4e7af0bcb203d1dbfbf03f1efc72c4336"},{"version":"12f5bbfb999971e400f547714542f39a800db29b756e3e9120f1cf163dc3833c","signature":"2048b761cf641bf6907fd04f447b00d9b4b409df8707e92c18c61fbc5c1aa3b7"},{"version":"56129401612e70dfd97fe11e608998226046e5e305ff5d6750ee5a091330aa61","signature":"20efe0569dd3cd5de96f51ece8088e6b73ca1eab052c2f8cea97f1dc2bd927bf"},{"version":"42a19dffb5f52cc5b369e48881dc87773aaab0721e80553cb8f3e09e7252b033","signature":"3ebc8bcf1e701746d52ad3013f3ecdb423f971eb5191d8455c4f919355fcbc67"},{"version":"99f43c7304849570adc26bc51e6c33ba9afdb73e746e1791dfb4564f792e15c8","signature":"6123b5cf95a43141e5567c6285ee6e7485cd3eebee3e986f8b5cec128393c9e7"},{"version":"3c2cb61e3424fc81d592ff4ca1d0390f1fd5ec76f1ade3efab11604724a218d6","signature":"d46d05f033b16aa50dcaf1e6646a697a36d486cdf79d20f424a54665c9af9cb2"},{"version":"fea7ed86acd334742adc1a5321b2e79520bcc566a051eb0ff732268338ce36ce","signature":"bdf4bd58cbfb7b905f879effc6d8957505dc47ff1bc567a95f335c475351904e"},{"version":"047d0403607860760f0c05d022d2dcedce635540993db2ef8227d49f205be6ed","signature":"06f1e4d2b6f848143e748b431965f3afd8947506203d8f9ee338db450a66285b"},{"version":"1b53e3a89382cd3b5e3f23dae68b17283d04c3f96c20ea212fc4aae2eec0c9e1","signature":"aa02c5f8a0de7c865320681a1d9d22c15b82f93a6a4113e157acaeac745e3071"},{"version":"bf9a7bef581822415d3889c3c4496eb44773833bfc65e958f714f1e245250fdd","signature":"8c079788fde13309fb4ca3a397e22d7a11e33f699c5fe646b20dc25274d68776"},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"cb84ca8348a953ff8048cd55cbf57abce50ff8b1dd78760cd6619fe7978076eb","signature":"a9967b8bcbd082908f49956b64fc025824c6734a7904c3e2b7fbc273c5aefa7f"},{"version":"3068f311bdc3320a04e91672bd1a4a223b6faced63ca8e1992ceaa09b2180378","signature":"20b8061b5eeaf26c9f1ae532e01004490f6e397fda4ccc4a30f3eb8c2956e13a"},{"version":"08dcf801fec72dc7751f21313cdc81f3a08c139d3c2f9e9bb4f4a77f510e7a75","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"629cae86a432e69e8e911a36fee72803dae784da685593e42968babe3b84298b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","39c18ea70fa2449cb00c97e73b3b8f96983e423678cfede0fbcb9319cbefa67c","a6f0218395ecb8e0d736e0a19524223ab7a8a7ed217c4a99c165df2532e1beec","287bb1a9e0f935417f8e753687737d3c90c35a56d07448773fc3ec8f0f97a6be","629766229f541d92210f30a92b6038568ec165fab14b7ee53bdf13667da37ca3","29193c018378ca9c8033eaa974c02c1f503e8fcd8a2bf406057c53f7d3fa17a8",{"version":"4f9362850bb427525ba05c0e861dae06d9918bd16ccb38d504cb7294f69e8496","affectsGlobalScope":true},{"version":"82fcf338bc21711d93d65f981a7182f9942d3ac1f268c4480537c9b62c89d10d","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","aad5ffa61406b8e19524738fcf0e6fda8b3485bba98626268fdf252d1b2b630a","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"352fc8497a30bc806d7defa0043d85802e5f35a7688731ee9a21456f5cb32a94","affectsGlobalScope":true},"5b9ecf7da4d71cf3832dbb8336150fa924631811f488ad4690c2dfec2b4fb1d7","951c85f75aac041dddbedfedf565886a7b494e29ec1532e2a9b4a6180560b50e","f463d61cf39c3a6a5f96cdf7adfdb72a0b1d663f7b5d5b6dd042adba835430c2","f7a9cb83c8fbc081a8b605880d191e0d0527cde2c1b2b2b623beca8f0203a2cd","43cdd474c5aa3340da4816bb8f1ae7f3b1bcf9e70d997afc36a0f2c432378c84","23790f2da8d5370068bf8ba250786babee91f619ba9f8e067957c7166c824432","9226af9c56e77e2de484e3778a33a53a1dfb11ead282a7bdc55c2ffd84136837","963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33",{"version":"3e947c8dc536e569ceb62a7cb0255e4866fd54dd5d35d21e49c7e755f5c134a6","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","5774751340e987a6a9e4a5dcc03ff68a6515adc2b91423e1af2f660fc8f30e81","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","86889bc3e5323b1e92f5d23d41395ccee3dc91c37b5a5dbf115ea40fc13edd28","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a",{"version":"86cc8969b76067ccf25e02c62b7df6ccdb419481fbce594b5ae9da21e9015e39","affectsGlobalScope":true},"b92ae8263cac4e5a79f55fe6cb63c030b096679b98f603fbc13963c30ab7da5e","4e9d375d05a75efefcdae0a6a7be76861b5c96683acd31d1c8b120f60c0f6194","2a856615ecd0af49997dfbb38cf94fd787d529062a2e96ce26b84432e61d785d","0b6a0b628776a3e3a4aeeba090438a26e7ffa15373ce658452c78c1f2254665d","5764c1db026d0f1070ff009879d8f90dec70cebc3d1b27ca20f7beeac2afcae2","62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","77b89017a4f1a1e5497efbbb0b742506b6c5c725d7d6855e793a12a97c7ace61","656424ca784760c679bf2677d8aaf55d1cb8452cd0ac04bbe1c0f659f45f8c11","bed28de34a5dd2b08d47b584da338e5fba92de84ce8727dd153d9ec16bc0f2e4","6745e41d07e777a049bb25425bb1c6c1a9b437bc2568ca8eef03daa8e8913ac0","032667dd4a981d2b58dfaf5840f5a2ea76160ab18658fdd5abd0a0bba1565af1","7382cbf0d8a841a91d7ae2217897bd53bcb9584ca6fbe123771167a7f641c157","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[49,284,[292,318]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":2,"module":1,"noImplicitAny":false,"noUnusedLocals":true,"outDir":"./","skipLibCheck":true,"strict":true,"target":7},"fileIdsList":[[182,286,287,288,289,290],[182,268],[182,268,285],[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,70,71,182,269,270,271,272,273,274,275,276,277,278,279,280,281,282],[51,182,268],[182],[50,182],[182,189],[182,277],[182,189,273],[182,189,273,275],[170,182,189],[153,182,189],[51,182],[69,182],[52,182],[66,67,68,182],[66,182],[72,73,182,238,242,243,244,245,246,247,248,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267],[73,182,259],[72,182,259],[182,250],[73,182,251],[182,243,252],[182,249,251],[182,250,251,252,253],[72,182,237],[73,182,243,244],[73,182,243],[182,243],[72,73,182],[73,182,237],[72,182],[182,239,240,241],[72,73,182,243],[73,182,238,242],[182,262],[182,239],[182,268,283,284,294,295],[182,292,294,295,296,298,300,301,302,304,307,309,310,312],[182,268,292,305],[182,268,305],[182,297],[182,268,292,308],[182,268,291,292,294],[182,268,283,284,309],[182,268,283,284,311],[182,268,283,284,292,293],[182,268,283,284,306],[182,283,284,297],[182,283,284,297,299],[182,268,283,284,301],[182,268,283,284,303],[182,283,294],[182,283,302],[155,182,189,319],[182,189,321,322],[155,182,189],[152,155,182,189,329,330,331],[182,320,331,332,336],[182,189,338],[152,153,182,189,340],[182,345],[182,334],[182,333],[136,182],[139,182],[140,145,173,182],[141,152,153,160,170,181,182],[141,142,152,160,182],[143,182],[144,145,153,161,182],[145,170,178,182],[146,148,152,160,182],[147,182],[148,149,182],[152,182],[150,152,182],[152,153,154,170,181,182],[152,153,154,167,170,173,182],[182,186],[148,155,160,170,181,182],[152,153,155,156,160,170,178,181,182],[155,157,170,178,181,182],[136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188],[152,158,182],[159,181,182],[148,152,160,170,182],[161,182],[162,182],[139,163,182],[164,180,182,186],[165,182],[166,182],[152,167,168,182],[167,169,182,184],[140,152,170,171,172,173,182],[140,170,172,182],[170,171,182],[173,182],[174,182],[152,176,177,182],[176,177,182],[145,160,170,178,182],[179,182],[160,180,182],[140,155,166,181,182],[145,182],[170,182,183],[182,184],[182,185],[140,145,152,154,163,170,181,182,184,186],[170,182,187],[170,182,187,189],[153,170,182,189,328],[155,182,189,334,335],[182,189,327],[182,359],[182,189,358],[152,155,157,160,178,182,189,348,356],[152,170,182,189],[130,131,132,133,134,182,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,225,227,228,229,230,231,232,233,234],[182,235],[182,236],[135,170,182,190,191,212,213,214],[182,192,212],[182,211],[182,192,197,212,213,214],[135,182,192,212],[131,182,212,213],[182,192,211,212,213,214,216],[80,182],[80,81,82,182],[80,95,182],[80,86,182],[80,89,90,182],[80,98,182],[80,91,92,119,182],[80,102,182],[80,104,182],[86,87,121,128,129,182],[80,83,84,85,182],[80,88,92,120,182],[80,84,90,122,182],[80,84,90,182],[123,124,125,182],[80,84,119,126,127,182],[80,84,119,127,182],[90,93,94,96,97,99,100,101,103,105,106,107,108,109,110,111,112,113,114,115,117,118,182],[80,116,182],[131,182,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,212],[182,219,220,221],[153,170,182,189],[170,182,189,192,212],[182,189,219,220],[182,192,212,213],[131,132,182,219,220,221,225],[80,131,132,182,220,222,225],[132,182,212,225],[80,84,85,86,87,120,121,131,132,182,212,220,224,225],[131,132,170,182,189,212,213,214,215,219,220,221,223,225,226,227],[182,212,216,228],[131,132,170,182,189,212,214,215,216,219,220,221,223,225],[76,78,182],[75,78,182],[74,75,76,77,78,79,182],[76,77,182],[132,182,212,213,214,216,225,235],[182,212,213,214],[182,212,214],[131,182,212],[132,182,211,212,213,214,215,225],[131,132,133,134,182,211,213,225],[182,211,220],[80,182,211],[182,211,212,214],[131,182],[132,182,212,213,214,217,225],[268,283,294],[292,294,295,296,298,300,301,302,304,307,309,310,312],[268],[297],[268,294],[268,283],[283,297],[283,297,299]],"referencedMap":[[291,1],[289,2],[285,2],[286,3],[287,2],[288,2],[290,2],[283,4],[269,5],[60,6],[62,7],[63,6],[270,8],[61,6],[53,6],[54,6],[280,9],[279,9],[278,10],[277,6],[275,6],[276,11],[281,8],[282,12],[65,6],[64,6],[273,13],[271,6],[274,12],[55,14],[59,6],[71,6],[272,6],[70,15],[56,14],[58,16],[57,14],[51,7],[50,6],[52,6],[69,17],[66,6],[67,18],[68,6],[268,19],[261,20],[260,21],[251,22],[252,23],[253,24],[250,25],[249,6],[265,22],[264,26],[266,27],[247,28],[246,28],[244,29],[245,28],[255,30],[258,31],[254,30],[257,6],[248,30],[256,29],[267,6],[238,32],[241,33],[242,34],[262,6],[259,35],[243,36],[263,37],[240,38],[73,6],[72,6],[49,6],[296,39],[313,40],[311,41],[306,42],[299,43],[303,2],[314,6],[309,44],[292,6],[293,45],[297,6],[301,2],[315,6],[308,6],[305,6],[316,6],[295,6],[284,6],[310,46],[312,47],[294,48],[307,49],[298,50],[300,51],[302,52],[304,53],[317,54],[318,55],[320,56],[321,6],[322,6],[323,57],[324,6],[325,6],[319,58],[326,6],[327,6],[332,59],[337,60],[239,6],[339,61],[341,62],[342,6],[335,6],[343,6],[344,6],[346,63],[333,64],[334,65],[340,6],[347,6],[338,6],[348,8],[136,66],[137,66],[139,67],[140,68],[141,69],[142,70],[143,71],[144,72],[145,73],[146,74],[147,75],[148,76],[149,76],[151,77],[150,78],[152,77],[153,79],[154,80],[138,81],[188,6],[155,82],[156,83],[157,84],[189,85],[158,86],[159,87],[160,88],[161,89],[162,90],[163,91],[164,92],[165,93],[166,94],[167,95],[168,95],[169,96],[170,97],[172,98],[171,99],[173,100],[174,101],[175,6],[176,102],[177,103],[178,104],[179,105],[180,106],[181,107],[182,108],[183,109],[184,110],[185,111],[186,112],[187,113],[349,6],[350,6],[351,6],[352,6],[353,6],[354,114],[355,6],[356,6],[331,6],[330,6],[329,115],[328,6],[336,116],[357,117],[360,118],[359,119],[361,120],[358,12],[345,6],[362,8],[363,121],[235,122],[236,123],[237,124],[192,125],[205,126],[193,126],[135,127],[195,126],[196,126],[198,128],[199,126],[207,126],[200,126],[197,126],[203,126],[206,129],[208,126],[194,126],[209,126],[201,126],[202,126],[210,129],[204,126],[214,130],[131,6],[218,131],[93,132],[222,132],[81,6],[83,133],[94,132],[84,132],[82,6],[95,6],[96,134],[97,132],[87,135],[91,136],[89,6],[99,137],[88,6],[85,132],[120,138],[100,132],[101,132],[103,139],[90,132],[104,6],[105,140],[92,132],[106,132],[107,132],[108,132],[109,132],[110,132],[130,141],[111,132],[102,6],[86,142],[112,132],[121,143],[122,6],[123,144],[124,145],[125,145],[126,146],[128,147],[113,132],[127,132],[129,148],[98,6],[114,137],[115,137],[119,149],[116,6],[117,150],[118,132],[211,151],[226,152],[219,153],[190,154],[221,155],[191,156],[227,157],[223,158],[224,159],[225,160],[228,161],[230,162],[229,163],[77,164],[76,165],[74,6],[75,6],[80,166],[78,167],[79,6],[215,168],[133,169],[134,170],[132,171],[216,172],[212,173],[233,6],[231,174],[220,175],[232,6],[213,176],[217,177],[234,178],[46,6],[47,6],[8,6],[9,6],[13,6],[12,6],[2,6],[14,6],[15,6],[16,6],[17,6],[18,6],[19,6],[20,6],[21,6],[3,6],[4,6],[25,6],[22,6],[23,6],[24,6],[26,6],[27,6],[28,6],[5,6],[29,6],[30,6],[31,6],[32,6],[6,6],[36,6],[33,6],[34,6],[35,6],[37,6],[7,6],[38,6],[48,6],[43,6],[44,6],[39,6],[40,6],[41,6],[42,6],[1,6],[45,6],[11,6],[10,6]],"exportedModulesMap":[[291,1],[289,2],[285,2],[286,3],[287,2],[288,2],[290,2],[283,4],[269,5],[60,6],[62,7],[63,6],[270,8],[61,6],[53,6],[54,6],[280,9],[279,9],[278,10],[277,6],[275,6],[276,11],[281,8],[282,12],[65,6],[64,6],[273,13],[271,6],[274,12],[55,14],[59,6],[71,6],[272,6],[70,15],[56,14],[58,16],[57,14],[51,7],[50,6],[52,6],[69,17],[66,6],[67,18],[68,6],[268,19],[261,20],[260,21],[251,22],[252,23],[253,24],[250,25],[249,6],[265,22],[264,26],[266,27],[247,28],[246,28],[244,29],[245,28],[255,30],[258,31],[254,30],[257,6],[248,30],[256,29],[267,6],[238,32],[241,33],[242,34],[262,6],[259,35],[243,36],[263,37],[240,38],[73,6],[72,6],[296,179],[313,180],[311,181],[306,181],[299,182],[303,181],[314,6],[309,181],[293,183],[301,181],[310,184],[312,184],[294,184],[307,184],[298,185],[300,186],[302,184],[304,184],[320,56],[321,6],[322,6],[323,57],[324,6],[325,6],[319,58],[326,6],[327,6],[332,59],[337,60],[239,6],[339,61],[341,62],[342,6],[335,6],[343,6],[344,6],[346,63],[333,64],[334,65],[340,6],[347,6],[338,6],[348,8],[136,66],[137,66],[139,67],[140,68],[141,69],[142,70],[143,71],[144,72],[145,73],[146,74],[147,75],[148,76],[149,76],[151,77],[150,78],[152,77],[153,79],[154,80],[138,81],[188,6],[155,82],[156,83],[157,84],[189,85],[158,86],[159,87],[160,88],[161,89],[162,90],[163,91],[164,92],[165,93],[166,94],[167,95],[168,95],[169,96],[170,97],[172,98],[171,99],[173,100],[174,101],[175,6],[176,102],[177,103],[178,104],[179,105],[180,106],[181,107],[182,108],[183,109],[184,110],[185,111],[186,112],[187,113],[349,6],[350,6],[351,6],[352,6],[353,6],[354,114],[355,6],[356,6],[331,6],[330,6],[329,115],[328,6],[336,116],[357,117],[360,118],[359,119],[361,120],[358,12],[345,6],[362,8],[363,121],[235,122],[236,123],[237,124],[192,125],[205,126],[193,126],[135,127],[195,126],[196,126],[198,128],[199,126],[207,126],[200,126],[197,126],[203,126],[206,129],[208,126],[194,126],[209,126],[201,126],[202,126],[210,129],[204,126],[214,130],[131,6],[218,131],[93,132],[222,132],[81,6],[83,133],[94,132],[84,132],[82,6],[95,6],[96,134],[97,132],[87,135],[91,136],[89,6],[99,137],[88,6],[85,132],[120,138],[100,132],[101,132],[103,139],[90,132],[104,6],[105,140],[92,132],[106,132],[107,132],[108,132],[109,132],[110,132],[130,141],[111,132],[102,6],[86,142],[112,132],[121,143],[122,6],[123,144],[124,145],[125,145],[126,146],[128,147],[113,132],[127,132],[129,148],[98,6],[114,137],[115,137],[119,149],[116,6],[117,150],[118,132],[211,151],[226,152],[219,153],[190,154],[221,155],[191,156],[227,157],[223,158],[224,159],[225,160],[228,161],[230,162],[229,163],[77,164],[76,165],[74,6],[75,6],[80,166],[78,167],[79,6],[215,168],[133,169],[134,170],[132,171],[216,172],[212,173],[233,6],[231,174],[220,175],[232,6],[213,176],[217,177],[234,178],[46,6],[47,6],[8,6],[9,6],[13,6],[12,6],[2,6],[14,6],[15,6],[16,6],[17,6],[18,6],[19,6],[20,6],[21,6],[3,6],[4,6],[25,6],[22,6],[23,6],[24,6],[26,6],[27,6],[28,6],[5,6],[29,6],[30,6],[31,6],[32,6],[6,6],[36,6],[33,6],[34,6],[35,6],[37,6],[7,6],[38,6],[48,6],[43,6],[44,6],[39,6],[40,6],[41,6],[42,6],[1,6],[45,6],[11,6],[10,6]],"semanticDiagnosticsPerFile":[291,289,285,286,287,288,290,283,269,60,62,63,270,61,53,54,280,279,278,277,275,276,281,282,65,64,273,271,274,55,59,71,272,70,56,58,57,51,50,52,69,66,67,68,268,261,260,251,252,253,250,249,265,264,266,247,246,244,245,255,258,254,257,248,256,267,238,241,242,262,259,243,263,240,73,72,49,296,313,311,306,299,303,314,309,292,293,297,301,315,308,305,316,295,284,310,312,294,307,298,300,302,304,317,318,320,321,322,323,324,325,319,326,327,332,337,239,339,341,342,335,343,344,346,333,334,340,347,338,348,136,137,139,140,141,142,143,144,145,146,147,148,149,151,150,152,153,154,138,188,155,156,157,189,158,159,160,161,162,163,164,165,166,167,168,169,170,172,171,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,349,350,351,352,353,354,355,356,331,330,329,328,336,357,360,359,361,358,345,362,363,235,236,237,192,205,193,135,195,196,198,199,207,200,197,203,206,208,194,209,201,202,210,204,214,131,218,93,222,81,83,94,84,82,95,96,97,87,91,89,99,88,85,120,100,101,103,90,104,105,92,106,107,108,109,110,130,111,102,86,112,121,122,123,124,125,126,128,113,127,129,98,114,115,119,116,117,118,211,226,219,190,221,191,227,223,224,225,228,230,229,77,76,74,75,80,78,79,215,133,134,132,216,212,233,231,220,232,213,217,234,46,47,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,48,43,44,39,40,41,42,1,45,11,10],"latestChangedDtsFile":"./src/workers/wkt-worker.d.ts"},"version":"5.1.6"}
|
package/dist/wkt-worker.js
CHANGED
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
// src/lib/utils/version.ts
|
|
192
|
-
var VERSION = true ? "4.0.0-alpha.
|
|
192
|
+
var VERSION = true ? "4.0.0-alpha.26" : "latest";
|
|
193
193
|
|
|
194
194
|
// src/lib/parse-wkt.ts
|
|
195
195
|
var numberRegexp = /[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/wkt",
|
|
3
3
|
"description": "Loader and Writer for the WKT (Well Known Text) Format",
|
|
4
|
-
"version": "4.0.0-alpha.
|
|
4
|
+
"version": "4.0.0-alpha.26",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"fuzzer": "^0.2.1"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@loaders.gl/loader-utils": "4.0.0-alpha.
|
|
39
|
-
"@loaders.gl/schema": "4.0.0-alpha.
|
|
38
|
+
"@loaders.gl/loader-utils": "4.0.0-alpha.26",
|
|
39
|
+
"@loaders.gl/schema": "4.0.0-alpha.26"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "91adce71f74dacc7c8bfc379f0d122f2beae70d9"
|
|
42
42
|
}
|
package/src/lib/parse-twkb.ts
CHANGED
|
@@ -26,8 +26,10 @@ export function isTWKB(arrayBuffer: ArrayBuffer): boolean {
|
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
/**
|
|
30
|
-
type
|
|
29
|
+
/** Passed around between parsing functions, extracted from the header */
|
|
30
|
+
type TWKBHeader = {
|
|
31
|
+
geometryType: WKBGeometryType;
|
|
32
|
+
|
|
31
33
|
hasBoundingBox: boolean;
|
|
32
34
|
hasSizeAttribute: boolean;
|
|
33
35
|
hasIdList: boolean;
|
|
@@ -49,6 +51,33 @@ type ParseTWKBState = {
|
|
|
49
51
|
export function parseTWKBGeometry(arrayBuffer: ArrayBuffer): Geometry {
|
|
50
52
|
const binaryReader = new BinaryReader(arrayBuffer);
|
|
51
53
|
|
|
54
|
+
const context = parseTWKBHeader(binaryReader);
|
|
55
|
+
|
|
56
|
+
if (context.hasSizeAttribute) {
|
|
57
|
+
binaryReader.readVarInt();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (context.hasBoundingBox) {
|
|
61
|
+
let dimensions = 2;
|
|
62
|
+
|
|
63
|
+
if (context.hasZ) {
|
|
64
|
+
dimensions++;
|
|
65
|
+
}
|
|
66
|
+
if (context.hasM) {
|
|
67
|
+
dimensions++;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// TODO why are we throwing away these datums?
|
|
71
|
+
for (let i = 0; i < dimensions; i++) {
|
|
72
|
+
binaryReader.readVarInt();
|
|
73
|
+
binaryReader.readVarInt();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return parseGeometry(binaryReader, context, context.geometryType);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function parseTWKBHeader(binaryReader: BinaryReader): TWKBHeader {
|
|
52
81
|
const type = binaryReader.readUInt8();
|
|
53
82
|
const metadataHeader = binaryReader.readUInt8();
|
|
54
83
|
|
|
@@ -76,7 +105,9 @@ export function parseTWKBGeometry(arrayBuffer: ArrayBuffer): Geometry {
|
|
|
76
105
|
mPrecisionFactor = Math.pow(10, mPrecision);
|
|
77
106
|
}
|
|
78
107
|
|
|
79
|
-
|
|
108
|
+
return {
|
|
109
|
+
geometryType,
|
|
110
|
+
|
|
80
111
|
precision,
|
|
81
112
|
precisionFactor: Math.pow(10, precision),
|
|
82
113
|
|
|
@@ -93,34 +124,11 @@ export function parseTWKBGeometry(arrayBuffer: ArrayBuffer): Geometry {
|
|
|
93
124
|
mPrecision,
|
|
94
125
|
mPrecisionFactor
|
|
95
126
|
};
|
|
96
|
-
|
|
97
|
-
if (context.hasSizeAttribute) {
|
|
98
|
-
binaryReader.readVarInt();
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
if (context.hasBoundingBox) {
|
|
102
|
-
let dimensions = 2;
|
|
103
|
-
|
|
104
|
-
if (context.hasZ) {
|
|
105
|
-
dimensions++;
|
|
106
|
-
}
|
|
107
|
-
if (context.hasM) {
|
|
108
|
-
dimensions++;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// TODO why are we throwing away these datums?
|
|
112
|
-
for (let i = 0; i < dimensions; i++) {
|
|
113
|
-
binaryReader.readVarInt();
|
|
114
|
-
binaryReader.readVarInt();
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
return parseGeometry(binaryReader, context, geometryType);
|
|
119
127
|
}
|
|
120
128
|
|
|
121
129
|
function parseGeometry(
|
|
122
130
|
binaryReader: BinaryReader,
|
|
123
|
-
context:
|
|
131
|
+
context: TWKBHeader,
|
|
124
132
|
geometryType: WKBGeometryType
|
|
125
133
|
): Geometry {
|
|
126
134
|
switch (geometryType) {
|
|
@@ -145,7 +153,7 @@ function parseGeometry(
|
|
|
145
153
|
|
|
146
154
|
// GEOMETRIES
|
|
147
155
|
|
|
148
|
-
function parsePoint(reader: BinaryReader, context:
|
|
156
|
+
function parsePoint(reader: BinaryReader, context: TWKBHeader): Point {
|
|
149
157
|
if (context.isEmpty) {
|
|
150
158
|
return {type: 'Point', coordinates: []};
|
|
151
159
|
}
|
|
@@ -153,7 +161,7 @@ function parsePoint(reader: BinaryReader, context: ParseTWKBState): Point {
|
|
|
153
161
|
return {type: 'Point', coordinates: readFirstPoint(reader, context)};
|
|
154
162
|
}
|
|
155
163
|
|
|
156
|
-
function parseLineString(reader: BinaryReader, context:
|
|
164
|
+
function parseLineString(reader: BinaryReader, context: TWKBHeader): LineString {
|
|
157
165
|
if (context.isEmpty) {
|
|
158
166
|
return {type: 'LineString', coordinates: []};
|
|
159
167
|
}
|
|
@@ -170,7 +178,7 @@ function parseLineString(reader: BinaryReader, context: ParseTWKBState): LineStr
|
|
|
170
178
|
return {type: 'LineString', coordinates: points};
|
|
171
179
|
}
|
|
172
180
|
|
|
173
|
-
function parsePolygon(reader: BinaryReader, context:
|
|
181
|
+
function parsePolygon(reader: BinaryReader, context: TWKBHeader): Polygon {
|
|
174
182
|
if (context.isEmpty) {
|
|
175
183
|
return {type: 'Polygon', coordinates: []};
|
|
176
184
|
}
|
|
@@ -201,7 +209,7 @@ function parsePolygon(reader: BinaryReader, context: ParseTWKBState): Polygon {
|
|
|
201
209
|
return {type: 'Polygon', coordinates: polygon};
|
|
202
210
|
}
|
|
203
211
|
|
|
204
|
-
function parseMultiPoint(reader: BinaryReader, context:
|
|
212
|
+
function parseMultiPoint(reader: BinaryReader, context: TWKBHeader): MultiPoint {
|
|
205
213
|
if (context.isEmpty) {
|
|
206
214
|
return {type: 'MultiPoint', coordinates: []};
|
|
207
215
|
}
|
|
@@ -217,7 +225,7 @@ function parseMultiPoint(reader: BinaryReader, context: ParseTWKBState): MultiPo
|
|
|
217
225
|
return {type: 'MultiPoint', coordinates};
|
|
218
226
|
}
|
|
219
227
|
|
|
220
|
-
function parseMultiLineString(reader: BinaryReader, context:
|
|
228
|
+
function parseMultiLineString(reader: BinaryReader, context: TWKBHeader): MultiLineString {
|
|
221
229
|
if (context.isEmpty) {
|
|
222
230
|
return {type: 'MultiLineString', coordinates: []};
|
|
223
231
|
}
|
|
@@ -240,7 +248,7 @@ function parseMultiLineString(reader: BinaryReader, context: ParseTWKBState): Mu
|
|
|
240
248
|
return {type: 'MultiLineString', coordinates};
|
|
241
249
|
}
|
|
242
250
|
|
|
243
|
-
function parseMultiPolygon(reader: BinaryReader, context:
|
|
251
|
+
function parseMultiPolygon(reader: BinaryReader, context: TWKBHeader): MultiPolygon {
|
|
244
252
|
if (context.isEmpty) {
|
|
245
253
|
return {type: 'MultiPolygon', coordinates: []};
|
|
246
254
|
}
|
|
@@ -280,10 +288,7 @@ function parseMultiPolygon(reader: BinaryReader, context: ParseTWKBState): Multi
|
|
|
280
288
|
}
|
|
281
289
|
|
|
282
290
|
/** Geometry collection not yet supported */
|
|
283
|
-
function parseGeometryCollection(
|
|
284
|
-
reader: BinaryReader,
|
|
285
|
-
context: ParseTWKBState
|
|
286
|
-
): GeometryCollection {
|
|
291
|
+
function parseGeometryCollection(reader: BinaryReader, context: TWKBHeader): GeometryCollection {
|
|
287
292
|
return {type: 'GeometryCollection', geometries: []};
|
|
288
293
|
/**
|
|
289
294
|
if (context.isEmpty) {
|
|
@@ -316,11 +321,11 @@ function makePointCoordinates(x: number, y: number, z?: number, m?: number): num
|
|
|
316
321
|
return (z !== undefined ? (m !== undefined ? [x, y, z, m] : [x, y, z]) : [x, y]) as number[];
|
|
317
322
|
}
|
|
318
323
|
|
|
319
|
-
function makePreviousPoint(context:
|
|
324
|
+
function makePreviousPoint(context: TWKBHeader): number[] {
|
|
320
325
|
return makePointCoordinates(0, 0, context.hasZ ? 0 : undefined, context.hasM ? 0 : undefined);
|
|
321
326
|
}
|
|
322
327
|
|
|
323
|
-
function readFirstPoint(reader: BinaryReader, context:
|
|
328
|
+
function readFirstPoint(reader: BinaryReader, context: TWKBHeader): number[] {
|
|
324
329
|
const x = zigZagDecode(reader.readVarInt()) / context.precisionFactor;
|
|
325
330
|
const y = zigZagDecode(reader.readVarInt()) / context.precisionFactor;
|
|
326
331
|
const z = context.hasZ ? zigZagDecode(reader.readVarInt()) / context.zPrecisionFactor : undefined;
|
|
@@ -333,7 +338,7 @@ function readFirstPoint(reader: BinaryReader, context: ParseTWKBState): number[]
|
|
|
333
338
|
*/
|
|
334
339
|
function parseNextPoint(
|
|
335
340
|
reader: BinaryReader,
|
|
336
|
-
context:
|
|
341
|
+
context: TWKBHeader,
|
|
337
342
|
previousPoint: number[]
|
|
338
343
|
): number[] {
|
|
339
344
|
previousPoint[0] += zigZagDecode(reader.readVarInt()) / context.precisionFactor;
|