@loaders.gl/arrow 4.0.1 → 4.0.3
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/arrow-worker.js +33 -25
- package/dist/arrow-writer.d.ts +2 -2
- package/dist/arrow-writer.d.ts.map +1 -1
- package/dist/arrow-writer.js +6 -3
- package/dist/arrow-writer.js.map +1 -1
- package/dist/dist.dev.js +60 -29
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.d.ts +18 -2
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.d.ts.map +1 -1
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.js +18 -19
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.js.map +1 -1
- package/dist/geoarrow/convert-geoarrow-to-geojson.js.map +1 -1
- package/dist/geoarrow/get-arrow-bounds.d.ts.map +1 -1
- package/dist/geoarrow/get-arrow-bounds.js +1 -1
- package/dist/geoarrow/get-arrow-bounds.js.map +1 -1
- package/dist/index.cjs +177 -137
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/arrow-table-batch.d.ts +2 -2
- package/dist/lib/arrow-table-batch.d.ts.map +1 -1
- package/dist/lib/arrow-table-batch.js +7 -7
- package/dist/lib/arrow-table-batch.js.map +1 -1
- package/dist/lib/arrow-table.d.ts +3 -3
- package/dist/lib/arrow-table.d.ts.map +1 -1
- package/dist/lib/arrow-table.js.map +1 -1
- package/dist/lib/encode-arrow.js +5 -5
- package/dist/lib/encode-arrow.js.map +1 -1
- package/dist/lib/parse-arrow-in-batches.js +3 -3
- package/dist/lib/parse-arrow-in-batches.js.map +1 -1
- package/dist/lib/parse-arrow-sync.js +2 -2
- package/dist/lib/parse-arrow-sync.js.map +1 -1
- package/dist/schema/arrow-type-utils.d.ts +2 -2
- package/dist/schema/arrow-type-utils.d.ts.map +1 -1
- package/dist/schema/arrow-type-utils.js +9 -9
- package/dist/schema/arrow-type-utils.js.map +1 -1
- package/dist/schema/convert-arrow-schema.d.ts +7 -7
- package/dist/schema/convert-arrow-schema.d.ts.map +1 -1
- package/dist/schema/convert-arrow-schema.js +113 -86
- package/dist/schema/convert-arrow-schema.js.map +1 -1
- package/dist/tables/convert-arrow-to-table.d.ts +2 -2
- package/dist/tables/convert-arrow-to-table.d.ts.map +1 -1
- package/dist/tables/convert-arrow-to-table.js.map +1 -1
- package/package.json +5 -5
- package/src/arrow-writer.ts +8 -5
- package/src/geoarrow/convert-geoarrow-to-binary-geometry.ts +26 -26
- package/src/geoarrow/convert-geoarrow-to-geojson.ts +7 -7
- package/src/geoarrow/get-arrow-bounds.ts +1 -2
- package/src/index.ts +6 -1
- package/src/lib/arrow-table-batch.ts +13 -23
- package/src/lib/arrow-table.ts +3 -3
- package/src/lib/encode-arrow.ts +8 -8
- package/src/lib/parse-arrow-in-batches.ts +4 -4
- package/src/lib/parse-arrow-sync.ts +2 -2
- package/src/schema/arrow-type-utils.ts +10 -29
- package/src/schema/convert-arrow-schema.ts +126 -145
- package/src/tables/convert-arrow-to-table.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-geoarrow-to-geojson.js","names":["parseGeometryFromArrow","rawData","_rawData$encoding","encoding","toLowerCase","data","geometry","arrowMultiPolygonToFeature","arrowPolygonToFeature","arrowMultiPointToFeature","arrowPointToFeature","arrowMultiLineStringToFeature","arrowLineStringToFeature","Error","type","properties","arrowMultiPolygon","multiPolygon","m","length","arrowPolygon","get","polygon","i","arrowRing","ring","j","arrowCoord","coord","Array","from","push","coordinates","coords","arrowMultiPoint","multiPoint","arrowPoint","point","arrowMultiLineString","multiLineString","arrowLineString","lineString"],"sources":["../../src/geoarrow/convert-geoarrow-to-geojson.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport {Vector} from 'apache-arrow';\nimport {\n Feature,\n MultiPolygon,\n Position,\n Polygon,\n MultiPoint,\n Point,\n MultiLineString,\n LineString\n} from '@loaders.gl/schema';\nimport type {GeoArrowEncoding} from '@loaders.gl/gis';\n\ntype RawArrowFeature = {\n encoding?: GeoArrowEncoding;\n data: any;\n};\n\n/**\n * parse geometry from arrow data that is returned from processArrowData()\n * NOTE: this function could be duplicated with the binaryToFeature() in deck.gl,\n * it is currently only used for picking because currently deck.gl returns only the index of the feature\n * So the following functions could be deprecated once deck.gl returns the feature directly for binary geojson layer\n *\n * @param rawData the raw geometry data returned from processArrowData, which is an object with two properties: encoding and data\n * @see processArrowData\n * @returns Feature or null\n */\nexport function parseGeometryFromArrow(rawData: RawArrowFeature): Feature | null {\n const encoding = rawData.encoding?.toLowerCase();\n const data = rawData.data;\n if (!encoding || !data) {\n return null;\n }\n\n let geometry;\n\n switch (encoding) {\n case 'geoarrow.multipolygon':\n geometry = arrowMultiPolygonToFeature(data);\n break;\n case 'geoarrow.polygon':\n geometry = arrowPolygonToFeature(data);\n break;\n case 'geoarrow.multipoint':\n geometry = arrowMultiPointToFeature(data);\n break;\n case 'geoarrow.point':\n geometry = arrowPointToFeature(data);\n break;\n case 'geoarrow.multilinestring':\n geometry = arrowMultiLineStringToFeature(data);\n break;\n case 'geoarrow.linestring':\n geometry = arrowLineStringToFeature(data);\n break;\n default: {\n throw Error(`GeoArrow encoding not supported ${encoding}`);\n }\n }\n return {\n type: 'Feature',\n geometry,\n properties: {}\n };\n}\n\n/**\n * convert Arrow MultiPolygon to geojson Feature\n */\nfunction arrowMultiPolygonToFeature(arrowMultiPolygon: Vector): MultiPolygon {\n const multiPolygon: Position[][][] = [];\n for (let m = 0; m < arrowMultiPolygon.length; m++) {\n const arrowPolygon = arrowMultiPolygon.get(m);\n const polygon: Position[][] = [];\n for (let i = 0; arrowPolygon && i < arrowPolygon?.length; i++) {\n const arrowRing = arrowPolygon?.get(i);\n const ring: Position[] = [];\n for (let j = 0; arrowRing && j < arrowRing.length; j++) {\n const arrowCoord = arrowRing.get(j);\n const coord: Position = Array.from(arrowCoord);\n ring.push(coord);\n }\n polygon.push(ring);\n }\n multiPolygon.push(polygon);\n }\n const geometry: MultiPolygon = {\n type: 'MultiPolygon',\n coordinates: multiPolygon\n };\n return geometry;\n}\n\n/**\n * convert Arrow Polygon to geojson Feature\n */\nfunction arrowPolygonToFeature(arrowPolygon: Vector): Polygon {\n const polygon: Position[][] = [];\n for (let i = 0; arrowPolygon && i < arrowPolygon.length; i++) {\n const arrowRing = arrowPolygon.get(i);\n const ring: Position[] = [];\n for (let j = 0; arrowRing && j < arrowRing.length; j++) {\n const arrowCoord = arrowRing.get(j);\n const coords: Position = Array.from(arrowCoord);\n ring.push(coords);\n }\n polygon.push(ring);\n }\n const geometry: Polygon = {\n type: 'Polygon',\n coordinates: polygon\n };\n return geometry;\n}\n\n/**\n * convert Arrow MultiPoint to geojson MultiPoint\n */\nfunction arrowMultiPointToFeature(arrowMultiPoint: Vector): MultiPoint {\n const multiPoint: Position[] = [];\n for (let i = 0; arrowMultiPoint && i < arrowMultiPoint.length; i++) {\n const arrowPoint = arrowMultiPoint.get(i);\n if (arrowPoint) {\n const coord: Position = Array.from(arrowPoint);\n multiPoint.push(coord);\n }\n }\n const geometry: MultiPoint = {\n type: 'MultiPoint',\n coordinates: multiPoint\n };\n return geometry;\n}\n\n/**\n * convert Arrow Point to geojson Point\n */\nfunction arrowPointToFeature(arrowPoint: Vector): Point {\n const point: Position = Array.from(arrowPoint);\n const geometry: Point = {\n type: 'Point',\n coordinates: point\n };\n return geometry;\n}\n\n/**\n * convert Arrow MultiLineString to geojson MultiLineString\n */\nfunction arrowMultiLineStringToFeature(arrowMultiLineString: Vector): MultiLineString {\n const multiLineString: Position[][] = [];\n for (let i = 0; arrowMultiLineString && i < arrowMultiLineString.length; i++) {\n const arrowLineString = arrowMultiLineString.get(i);\n const lineString: Position[] = [];\n for (let j = 0; arrowLineString && j < arrowLineString.length; j++) {\n const arrowCoord = arrowLineString.get(j);\n if (arrowCoord) {\n const coords: Position = Array.from(arrowCoord);\n lineString.push(coords);\n }\n }\n multiLineString.push(lineString);\n }\n const geometry: MultiLineString = {\n type: 'MultiLineString',\n coordinates: multiLineString\n };\n return geometry;\n}\n\n/**\n * convert Arrow LineString to geojson LineString\n */\nfunction arrowLineStringToFeature(arrowLineString: Vector): LineString {\n const lineString: Position[] = [];\n for (let i = 0; arrowLineString && i < arrowLineString.length; i++) {\n const arrowCoord = arrowLineString.get(i);\n if (arrowCoord) {\n const coords: Position = Array.from(arrowCoord);\n lineString.push(coords);\n }\n }\n const geometry: LineString = {\n type: 'LineString',\n coordinates: lineString\n };\n return geometry;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"convert-geoarrow-to-geojson.js","names":["parseGeometryFromArrow","rawData","_rawData$encoding","encoding","toLowerCase","data","geometry","arrowMultiPolygonToFeature","arrowPolygonToFeature","arrowMultiPointToFeature","arrowPointToFeature","arrowMultiLineStringToFeature","arrowLineStringToFeature","Error","type","properties","arrowMultiPolygon","multiPolygon","m","length","arrowPolygon","get","polygon","i","arrowRing","ring","j","arrowCoord","coord","Array","from","push","coordinates","coords","arrowMultiPoint","multiPoint","arrowPoint","point","arrowMultiLineString","multiLineString","arrowLineString","lineString"],"sources":["../../src/geoarrow/convert-geoarrow-to-geojson.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport * as arrow from 'apache-arrow';\nimport {\n Feature,\n MultiPolygon,\n Position,\n Polygon,\n MultiPoint,\n Point,\n MultiLineString,\n LineString\n} from '@loaders.gl/schema';\nimport type {GeoArrowEncoding} from '@loaders.gl/gis';\n\ntype RawArrowFeature = {\n encoding?: GeoArrowEncoding;\n data: any;\n};\n\n/**\n * parse geometry from arrow data that is returned from processArrowData()\n * NOTE: this function could be duplicated with the binaryToFeature() in deck.gl,\n * it is currently only used for picking because currently deck.gl returns only the index of the feature\n * So the following functions could be deprecated once deck.gl returns the feature directly for binary geojson layer\n *\n * @param rawData the raw geometry data returned from processArrowData, which is an object with two properties: encoding and data\n * @see processArrowData\n * @returns Feature or null\n */\nexport function parseGeometryFromArrow(rawData: RawArrowFeature): Feature | null {\n const encoding = rawData.encoding?.toLowerCase();\n const data = rawData.data;\n if (!encoding || !data) {\n return null;\n }\n\n let geometry;\n\n switch (encoding) {\n case 'geoarrow.multipolygon':\n geometry = arrowMultiPolygonToFeature(data);\n break;\n case 'geoarrow.polygon':\n geometry = arrowPolygonToFeature(data);\n break;\n case 'geoarrow.multipoint':\n geometry = arrowMultiPointToFeature(data);\n break;\n case 'geoarrow.point':\n geometry = arrowPointToFeature(data);\n break;\n case 'geoarrow.multilinestring':\n geometry = arrowMultiLineStringToFeature(data);\n break;\n case 'geoarrow.linestring':\n geometry = arrowLineStringToFeature(data);\n break;\n default: {\n throw Error(`GeoArrow encoding not supported ${encoding}`);\n }\n }\n return {\n type: 'Feature',\n geometry,\n properties: {}\n };\n}\n\n/**\n * convert Arrow MultiPolygon to geojson Feature\n */\nfunction arrowMultiPolygonToFeature(arrowMultiPolygon: arrow.Vector): MultiPolygon {\n const multiPolygon: Position[][][] = [];\n for (let m = 0; m < arrowMultiPolygon.length; m++) {\n const arrowPolygon = arrowMultiPolygon.get(m);\n const polygon: Position[][] = [];\n for (let i = 0; arrowPolygon && i < arrowPolygon?.length; i++) {\n const arrowRing = arrowPolygon?.get(i);\n const ring: Position[] = [];\n for (let j = 0; arrowRing && j < arrowRing.length; j++) {\n const arrowCoord = arrowRing.get(j);\n const coord: Position = Array.from(arrowCoord);\n ring.push(coord);\n }\n polygon.push(ring);\n }\n multiPolygon.push(polygon);\n }\n const geometry: MultiPolygon = {\n type: 'MultiPolygon',\n coordinates: multiPolygon\n };\n return geometry;\n}\n\n/**\n * convert Arrow Polygon to geojson Feature\n */\nfunction arrowPolygonToFeature(arrowPolygon: arrow.Vector): Polygon {\n const polygon: Position[][] = [];\n for (let i = 0; arrowPolygon && i < arrowPolygon.length; i++) {\n const arrowRing = arrowPolygon.get(i);\n const ring: Position[] = [];\n for (let j = 0; arrowRing && j < arrowRing.length; j++) {\n const arrowCoord = arrowRing.get(j);\n const coords: Position = Array.from(arrowCoord);\n ring.push(coords);\n }\n polygon.push(ring);\n }\n const geometry: Polygon = {\n type: 'Polygon',\n coordinates: polygon\n };\n return geometry;\n}\n\n/**\n * convert Arrow MultiPoint to geojson MultiPoint\n */\nfunction arrowMultiPointToFeature(arrowMultiPoint: arrow.Vector): MultiPoint {\n const multiPoint: Position[] = [];\n for (let i = 0; arrowMultiPoint && i < arrowMultiPoint.length; i++) {\n const arrowPoint = arrowMultiPoint.get(i);\n if (arrowPoint) {\n const coord: Position = Array.from(arrowPoint);\n multiPoint.push(coord);\n }\n }\n const geometry: MultiPoint = {\n type: 'MultiPoint',\n coordinates: multiPoint\n };\n return geometry;\n}\n\n/**\n * convert Arrow Point to geojson Point\n */\nfunction arrowPointToFeature(arrowPoint: arrow.Vector): Point {\n const point: Position = Array.from(arrowPoint);\n const geometry: Point = {\n type: 'Point',\n coordinates: point\n };\n return geometry;\n}\n\n/**\n * convert Arrow MultiLineString to geojson MultiLineString\n */\nfunction arrowMultiLineStringToFeature(arrowMultiLineString: arrow.Vector): MultiLineString {\n const multiLineString: Position[][] = [];\n for (let i = 0; arrowMultiLineString && i < arrowMultiLineString.length; i++) {\n const arrowLineString = arrowMultiLineString.get(i);\n const lineString: Position[] = [];\n for (let j = 0; arrowLineString && j < arrowLineString.length; j++) {\n const arrowCoord = arrowLineString.get(j);\n if (arrowCoord) {\n const coords: Position = Array.from(arrowCoord);\n lineString.push(coords);\n }\n }\n multiLineString.push(lineString);\n }\n const geometry: MultiLineString = {\n type: 'MultiLineString',\n coordinates: multiLineString\n };\n return geometry;\n}\n\n/**\n * convert Arrow LineString to geojson LineString\n */\nfunction arrowLineStringToFeature(arrowLineString: arrow.Vector): LineString {\n const lineString: Position[] = [];\n for (let i = 0; arrowLineString && i < arrowLineString.length; i++) {\n const arrowCoord = arrowLineString.get(i);\n if (arrowCoord) {\n const coords: Position = Array.from(arrowCoord);\n lineString.push(coords);\n }\n }\n const geometry: LineString = {\n type: 'LineString',\n coordinates: lineString\n };\n return geometry;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-arrow-bounds.d.ts","sourceRoot":"","sources":["../../src/geoarrow/get-arrow-bounds.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,YAAY,EACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxC,UAAU,GAAE,MAAY,GACvB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"get-arrow-bounds.d.ts","sourceRoot":"","sources":["../../src/geoarrow/get-arrow-bounds.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,YAAY,EACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxC,UAAU,GAAE,MAAY,GACvB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAsBlC"}
|
|
@@ -6,7 +6,7 @@ export function updateBoundsFromGeoArrowSamples(flatCoords, nDim, bounds) {
|
|
|
6
6
|
for (let i = 0; i < numberOfFeatures; i += sampleStep) {
|
|
7
7
|
const lng = flatCoords[i * nDim];
|
|
8
8
|
const lat = flatCoords[i * nDim + 1];
|
|
9
|
-
if (lng <
|
|
9
|
+
if (lng < newBounds[0]) {
|
|
10
10
|
newBounds[0] = lng;
|
|
11
11
|
}
|
|
12
12
|
if (lat < newBounds[1]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-arrow-bounds.js","names":["updateBoundsFromGeoArrowSamples","flatCoords","nDim","bounds","sampleSize","arguments","length","undefined","numberOfFeatures","sampleStep","Math","max","floor","newBounds","i","lng","lat"],"sources":["../../src/geoarrow/get-arrow-bounds.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n/**\n * Update bounds from geoarrow sample data\n *\n * @param flatCoords the flattend coordinates array from one chunk of geoarrow column\n * @param nDim the number of dimensions of the coordinates\n * @param bounds the bounds to be updated\n * @param sampleSize how many samples to be used to update the bounds, default is 1000 per chunk\n * @returns the updated bounds\n */\nexport function updateBoundsFromGeoArrowSamples(\n flatCoords: Float64Array,\n nDim: number,\n bounds: [number, number, number, number],\n sampleSize: number = 100\n): [number, number, number, number] {\n const numberOfFeatures = flatCoords.length / nDim;\n const sampleStep = Math.max(Math.floor(numberOfFeatures / sampleSize), 1);\n\n const newBounds: [number, number, number, number] = [...bounds];\n for (let i = 0; i < numberOfFeatures; i += sampleStep) {\n const lng = flatCoords[i * nDim];\n const lat = flatCoords[i * nDim + 1];\n if (lng <
|
|
1
|
+
{"version":3,"file":"get-arrow-bounds.js","names":["updateBoundsFromGeoArrowSamples","flatCoords","nDim","bounds","sampleSize","arguments","length","undefined","numberOfFeatures","sampleStep","Math","max","floor","newBounds","i","lng","lat"],"sources":["../../src/geoarrow/get-arrow-bounds.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n/**\n * Update bounds from geoarrow sample data\n *\n * @param flatCoords the flattend coordinates array from one chunk of geoarrow column\n * @param nDim the number of dimensions of the coordinates\n * @param bounds the bounds to be updated\n * @param sampleSize how many samples to be used to update the bounds, default is 1000 per chunk\n * @returns the updated bounds\n */\nexport function updateBoundsFromGeoArrowSamples(\n flatCoords: Float64Array,\n nDim: number,\n bounds: [number, number, number, number],\n sampleSize: number = 100\n): [number, number, number, number] {\n const numberOfFeatures = flatCoords.length / nDim;\n const sampleStep = Math.max(Math.floor(numberOfFeatures / sampleSize), 1);\n\n const newBounds: [number, number, number, number] = [...bounds];\n for (let i = 0; i < numberOfFeatures; i += sampleStep) {\n const lng = flatCoords[i * nDim];\n const lat = flatCoords[i * nDim + 1];\n if (lng < newBounds[0]) {\n newBounds[0] = lng;\n }\n if (lat < newBounds[1]) {\n newBounds[1] = lat;\n }\n if (lng > newBounds[2]) {\n newBounds[2] = lng;\n }\n if (lat > newBounds[3]) {\n newBounds[3] = lat;\n }\n }\n return newBounds;\n}\n"],"mappings":"AAYA,OAAO,SAASA,+BAA+BA,CAC7CC,UAAwB,EACxBC,IAAY,EACZC,MAAwC,EAEN;EAAA,IADlCC,UAAkB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAExB,MAAMG,gBAAgB,GAAGP,UAAU,CAACK,MAAM,GAAGJ,IAAI;EACjD,MAAMO,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,KAAK,CAACJ,gBAAgB,GAAGJ,UAAU,CAAC,EAAE,CAAC,CAAC;EAEzE,MAAMS,SAA2C,GAAG,CAAC,GAAGV,MAAM,CAAC;EAC/D,KAAK,IAAIW,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,gBAAgB,EAAEM,CAAC,IAAIL,UAAU,EAAE;IACrD,MAAMM,GAAG,GAAGd,UAAU,CAACa,CAAC,GAAGZ,IAAI,CAAC;IAChC,MAAMc,GAAG,GAAGf,UAAU,CAACa,CAAC,GAAGZ,IAAI,GAAG,CAAC,CAAC;IACpC,IAAIa,GAAG,GAAGF,SAAS,CAAC,CAAC,CAAC,EAAE;MACtBA,SAAS,CAAC,CAAC,CAAC,GAAGE,GAAG;IACpB;IACA,IAAIC,GAAG,GAAGH,SAAS,CAAC,CAAC,CAAC,EAAE;MACtBA,SAAS,CAAC,CAAC,CAAC,GAAGG,GAAG;IACpB;IACA,IAAID,GAAG,GAAGF,SAAS,CAAC,CAAC,CAAC,EAAE;MACtBA,SAAS,CAAC,CAAC,CAAC,GAAGE,GAAG;IACpB;IACA,IAAIC,GAAG,GAAGH,SAAS,CAAC,CAAC,CAAC,EAAE;MACtBA,SAAS,CAAC,CAAC,CAAC,GAAGG,GAAG;IACpB;EACF;EACA,OAAOH,SAAS;AAClB"}
|